ABC152解説
çµæã¯53:08 (1ãã) 55ä½ã§ãããä»åã®ã»ããã¯å²ã¨ç°¡åãã ã£ãã®ã§ããã®æéã¯å¾®å¦ã§ããç¹ã«Fã§ãã ããªããã¹ãå¤ãã¦ææªã§ããã
A - AC or WA
æè
å ¨ãã¹ãã±ã¼ã¹éããå¦ããªã®ã§N=M or notã§å ´ååãã§ãããªãã§åºåACã¨WAãããªããã ãããªãã
å®è£ ä¾
#include<bits/stdc++.h> using namespace std; int main(){ int n,m; cin>>n>>m; cout<<(n==m?"Yes":"No")<<endl; }
B - Comparing Strings
æè
æ¡æ°ãå°ãªãæ¹ãå°ããã®ã§â¦ã£ã¦è¾æ¸é ãã¼ãããªãæ§ææåãå°ããæ¹ãå°ããã§ãã
å®è£ ä¾
#include<bits/stdc++.h> using namespace std; int main(){ int a,b; cin>>a>>b; int c{}; for(int i=0;i<max(a,b);++i) cout<<min(a,b); cout<<endl; }
C - Low Elements
æè
ãä»»æã®hogeããå°ãããã¯ãhogeã®minimumããå°ãããã¨åå¤ããã£ã¦åããè¦ã¦ãããªããiçªç®ã¾ã§ã®æå°ãä½ãã管çãã¦ããã°ãkãæå°ã®åæå¤ã¯+infã«ãã¦ããã¨æ¥½ã
å®è£ ä¾
#include<bits/stdc++.h> using namespace std; int main(){ int n,c{}; cin>>n; vector<int> p(n); for(auto&i:p) in>>i; int M=1e9; fr(i,n){ if(M>=p[i]){ ++c; M=p[i]; } } cout<<c<<endl; }
D - Handstand 2
æè
i,jã1ã9ã®æ´æ°ã¨ãã¦ãiã§å§ã¾ããjã§çµããN以ä¸ã®æ´æ°ã®æ°ããããã°ãAãi..jãBãj..iãªãå ´åã¯ãããããã®éãæ°ãæãåããããã¨ã§åããããã¨ã¯å®éã«1ãNã®æ´æ°ã«å¯¾ããä½ã§å§ã¾ã£ã¦ä½ã§çµããã®ãã調ã¹ãã°è¯ãã ã(Nãæºç·å½¢éã«åããªãã¨æã£ã¦ãæ¡DPã£ã½ãé«åº¦ç®æ°ãããã¨ãã¦infæé使ã£ã¦ãã¾ã£ã)ã
å®è£ ä¾
#include<bits/stdc++.h> using namespace std; int main(){ int n; cin>>n; int v[10][10]={}; for(int i-1;i<=n;++i){ int a=i%10,b=i; while(b>=10) b/=10; v[a][b]++; } ll ans{}; Fr(i,9) Fr(j,9) ans+=v[i][j]*v[j][i]; cout<<ans<<endl; }
E - Flatten
æè
ãã©ã®i,jã«ã¤ãã¦ããã¨ããµãããæ¸ãæ¹ãããã£ã¦ãããã¯ãä»»æã®iã«ã¤ãã¦
ãä¸å®å¤ãã¨ããã¨åå¤ã§ã(ã©ãè¦ã¦ã
ãªãã ããªããã«ã¹)ããã®ä¸å®å¤ã¯ä»»æã®iã«ã¤ãã¦
ã®åæ°ã«ãªã£ã¦ããã®ã§ã
ãæå°ã«ãªããããªã¨ããä¸å®å¤ã¯
ã®æå°å
¬åæ°ã¨ãªããèå¯ç°¡åãããwwãããEåé¡ã¨ã¯ç¬æ¢åä¸wãã¨ãæã£ã¦ã¾ããããæ®éã«ã¯ã½ã§ãããªãã®ã§ãmod Pä¸ã§lcmã¿ãããªãã¨ãèããªãã¨ãããªãï¼ã ãããããPythonã®å¤åé·æ´æ°ã§å¸¸åï¼w*1ã¨ãããã¨ã§ãã£ã¡ãä¹
ãã¶ãã«Pythonæ¸ãã¦lcmãããããããã¼ã¼ã¨ãã°ã°ã£ãããã¦è¦ã¤ããããªãã¦ãèªåå®è£
ããããã¦ããæéé£ãã¾ããã1964msãæ±äº¬ãªãªã³ããã¯ãï½ï½ï½ã
å®è£ ä¾
Python3ã§ã®å®è£ ã§ã(ã¯ï¼)
def gcd(n,m): if n>m: return gcd(m,n); if n==0: return m; return gcd(m-n*(m//n),n) def lcm(x, y): return (x * y) // gcd(x, y) n=int(input()) a=list(map(int,input().split())) s=1 for i in a: s=lcm(s,i) ans=0 for i in a: ans+=s//i print(ans % 1000000007)
追è¨(2020/01/19/23:21)
ããã¯è½ã¡ãæ³å®ã ã£ãããã§ããã§ãåå¸°ã§æ¸ããã«ã¹å®è£
ã§ããã ããå¤åãã£ã¨è¯ãæãã«æ¸ãã°ããã¡ããä½è£æã£ã¦éã£ãæ°ããã¾ãã
è¯ãè§£æ³ã¯ç´ å æ°åè§£ãã¦ãåå æ°ã«ã¤ãã¦ãææ°ã®æå¤§ãæ±ããå½¢ã§LCMãæ±ãã¾ãã
F - Tree and Constraints
æè
ãã¼ææ°ã¯è§£ãã¾ãããæ¬å½ã«ãããã¨ããããã¾ããã
â¦ã¨ãè¨ã£ã¦ã¦ããããããªãã®ã§èãã¾ããMãç°æ§ã«å°ããã®ã§ãå¤åã©ã£ãã§ãããã®å¦çãããããã ãããªãã¨æãã¤ã¤ãæèã忢ã
ãã°ããã®ã®ã¡ãæ°ãä¸ãã ãæåäºè±¡ï¼ã¨ãæã£ã¦èãã¦ããã¨ã1ã¤ä»¥ä¸åå¨ã¯ãå¦å®ããã1ã¤ãç¡ããªã®ã§æ±ãå®ããããã¨æ°ä»ã(é
ãã)ããããå
é¤åçã§çµããã§ããã¼ã
Måã®æ¡ä»¶ã®ãã¡ãããã¤ããé¸ãã§ããçµã¶ãã¹ãæ§æãã辺ã¯å
¨ã¦ç½ããã¨ãããããªå ´åãèãããããã¯ç°¡å*2ã§ãå®éã«ãã¹ãåãã¦éã£ã辺ãboolã®é
åã¨ãã§è¦ãã¦ããã¦ãéããªãã£ã辺ã®åæ°ãcåã¨ããã¨ã
éãã§ããããã¹ãåãã®ã¯ããããããæ¨ãæ ¹ã¤ãã«ãã¦ããã¦ãæ·±ããæãã¾ã§ç»ã£ã¦ãæ·±ããæã£ãããåãé ç¹ã«è¡ãçãã¾ã§ç»ãã°è¯ãã辺ã®indexã¯è¦ãã¦ãããªãã¦ããæ ¹ä»¥å¤ã®åã¨è¾ºã1:1対å¿ããã®ã§ããã£ã¡ã§èããã¨ããããããã
ãã¨ã¯ãªãããããã§è¶³ãå¼ãããã°çããæ±ã¾ãã
ãããããç¨æãã¦ãã2ã®ç´¯ä¹ã®é
åã®ãµã¤ãºãééã£ã¦Mãããã¾ã§ããç¨æããã«ç ´æ»
ã1WAã
å®è£ ä¾
#include<bits/stdc++.h> using namespace std; struct tree{ size_t n,r; vector<vector<int>> e; vector<int> pa,d; explicit tree(int n_){ n=n_; e.resize(n); } void add(int a,int b){ e[a].emplace_back(b); e[b].emplace_back(a); } void r_dfs(int i,int p=-1,int D=0){ pa[i]=p;d[i]=D;++D; for(auto j:e[i]) if(j!=p) r_dfs(j,i,D); } void r_i(int r_){ pa.resize(n);d.resize(n);r=r_; r_dfs(r); } void f(vector<bool>&vis,int u,int v){ if(d[u]<d[v]) swap(u,v); while(d[u]>d[v]){ vis[u]=true; u=pa[u]; } while(u!=v){ vis[u]=true; vis[v]=true; u=pa[u]; v=pa[v]; } } }; int main(){ vector<ll> p2(50,1); fr(i,49) p2[i+1]=p2[i]*2; int n,m,a,b; cin>>n; tree t(n); for(int i=0;i<n-1;++i){ cin>>a>>b; t.add(--a,--b); } in>>m; vector<int> u(m),v(m); fr(i,m) in>>u[i]>>v[i],--u[i],--v[i]; ll ans{}; t.r_i(0); fr(d,(1<<m)){ int c{}; vector<bool> vis(n); fr(i,m) if((d>>i)&1){ ++c; t.f(vis,u[i],v[i]); } int cnt{}; for(int i=1;i<=n-1;++i) if(!vis[i]) ++cnt; if(c%2) ans-=p2[cnt]; else ans+=p2[cnt]; } cout<<ans<<endl; }
çµããã«
ä»åã¯ä½è£ãæã£ã¦è§£èª¬ãæ¸ããããã¾ããããç²¾èªããããã¨ããããã¾ãããã¾ãè¦ã¦ããã ããã¨å¹¸ãã§ãã