#425[div2]
A 签到
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 int main(){ 5 ll n,k; 6 cin>>n>>k; 7 ll ans=n/k; 8 if(ans%2==1){ 9 cout<<"YES"; 10 } 11 else cout<<"NO"; 12 }
View Code
B 模拟题,注意细节即可。
1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 bool zi[26]; 5 int main(){ 6 string s,t,tt; 7 cin>>s>>t; 8 for(int i=0;i<s.size();i++){ 9 zi[s[i]-'a']=true; 10 } 11 int n; 12 cin>>n; 13 for(int i=0;i<n;i++){ 14 cin>>tt; 15 int aa=0,kk; 16 bool f1=true; 17 18 for(int j=0;j<t.size();j++){ 19 kk=j+aa; 20 if(t[j]!='?'&&t[j]!='*'&&t[j]!=tt[kk]){ 21 cout<<"NO\n"; 22 f1=false; 23 break; 24 } 25 26 if(t[j]=='?'){ 27 bool flag=false; 28 if(zi[tt[kk]-'a']) flag=true; 29 if(flag) continue; 30 else{ 31 cout<<"NO\n"; 32 f1=false; 33 break; 34 } 35 } 36 if(t[j]=='*'){ 37 int len=tt.size()-t.size(); 38 if(len<-1){ 39 cout<<"NO\n"; 40 f1=false; 41 break; 42 } 43 if(len==-1){ 44 aa--; 45 continue; 46 } 47 bool flag=false; 48 for(int k=0;k<=len;k++){ 49 if(zi[tt[k+kk]-'a']){ flag=true;break;} 50 } 51 if(flag){ 52 cout<<"NO\n"; 53 f1=false; 54 break; 55 } 56 else{ 57 aa+=len; 58 continue; 59 } 60 } 61 if(j==t.size()-1&&kk!=tt.size()-1){ 62 cout<<"NO\n"; 63 f1=false; 64 break; 65 } 66 } 67 if(f1) cout<<"YES\n"; 68 } 69 }
View Code
C
D LCA模板以及距离的求法,注意用O(n)的模板会超时,据说树链剖分也可做。
1 #include<bits/stdc++.h> 2 #define maxv 100005 3 using namespace std; 4 typedef long long ll; 5 vector<int>G[maxv]; 6 int root; 7 int parent[20][maxv]; 8 int depth[maxv]; 9 int a,b,c; 10 int n,q,t; 11 void dfs(int v,int p,int d){ 12 parent[0][v]=p; 13 depth[v]=d; 14 for(int i=0;i<G[v].size();i++){ 15 if(G[v][i]!=p) dfs(G[v][i],v,d+1); 16 } 17 } 18 19 void init(){ 20 dfs(0,-1,0); 21 for(int k=0;k+1<20;k++){ 22 for(int v=0;v<n;v++){ 23 if(parent[k][v]<0) parent[k+1][v]=-1; 24 else parent[k+1][v]=parent[k][parent[k][v]]; 25 } 26 } 27 } 28 29 int lca(int u,int v){ 30 if(depth[u]>depth[v]) swap(u,v); 31 for(int k=0;k<20;k++){ 32 if((depth[u]-depth[v])>>k&1){ 33 v=parent[k][v]; 34 } 35 } 36 if(u==v) return u; 37 for(int k=20-1;k>=0;k--){ 38 if(parent[k][u]!=parent[k][v]){ 39 u=parent[k][u]; 40 v=parent[k][v]; 41 } 42 } 43 return parent[0][u]; 44 } 45 int dis(int a,int b,int u){ 46 return depth[a]+depth[b]-2*depth[u]; 47 } 48 int main(){ 49 cin>>n>>q; 50 for(int i=0;i<n-1;i++){ 51 cin>>t; 52 G[i+1].push_back(t-1); 53 G[t-1].push_back(i+1); 54 } 55 init(); 56 for(int j=0;j<q;j++){ 57 cin>>a>>b>>c; 58 a-=1; 59 b-=1; 60 c-=1; 61 int v1,v2,v3; 62 v1=lca(a,b); 63 v2=lca(b,c); 64 v3=lca(c,a); 65 int ab,bc,ac; 66 ab=dis(a,b,v1); 67 bc=dis(b,c,v2); 68 ac=dis(a,c,v3); 69 int ans=max(max(ab+bc-ac,bc+ac-ab),ac+ab-bc)/2+1; 70 printf("%d\n",ans); 71 } 72 return 0; 73 }
View Code
E待补
转载于:https://www.cnblogs.com/elpsycongroo/p/7231915.html
#425[div2]相关推荐
- #423 Div2 D
#423 Div2 D 题意 构造一个 n 个节点的树,恰好有 k 个叶子节点 (叶子节点的定义是只与树上的某一个节点存在连边),要求任意两个叶子节点的距离的最大值最小,距离为两个节点间边的数量,输出 ...
- Codeforces Round #694 (Div. 1 + Div2)(A ~ H,8题全,超高质量题解)【每日亿题】2021/2/1、2/2
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 [每日亿题]Codeforces Round #694 (Div. 1 + Div2)(A ~ ...
- ftp 425 问题
那天服务器 ftp遇到了 425问题 我用linux的命令行可以进入 可用ie却不行 上网查了下原因 得到以下结果 如果FTP的远程主机不支持PASSIVE模式,或者有防火墙对PASSIVE模式 ...
- 英语四级比计算机等级难多少,英语四级难考吗?学长:掌握方法,过“425”分不困难...
随着时间的推移,下半年大学英语四六级考试的时间,在日趋临近:对于备战这场考试的大学生来说,可供大家复习的时间,也在日益减少. 整个大学几年里,英语和计算机考试,是每一个本科生,不可避开的话题. 一些高 ...
- Topcoder Srm 671 Div2 1000 BearDestroysDiv2
\(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...
- Codeforces Round#310 div2
C题:这题说的是套娃,如果做题的时候知道是套娃,那就好理解多了 规则1:套娃A可以放到套娃B里面,当且仅当套娃B没有放在其他套娃里面 规则2:套娃A放在套娃B里面,且套娃B没有放在其他套娃里面,那么可 ...
- vsftp:425 错误
前言 CentOS Linux release 7.9.2009 (Core) Linux RedHat7.0 上vsftp配置 425 错误 命令: LIST 响应: 425 Security: B ...
- topcpder SRM 664 div2 A,B,C BearCheats , BearPlays equalPiles , BearSorts (映射)
A题,熊孩子测视力,水题,题意就是判断一下两个数对应位不相同的数字有多少个. #include<bits/stdc++.h>using namespace std;class BearCh ...
- codeforces#320(div2) D Or Game 贪心
codeforces#320(div2) D "Or" Game 贪心 D. "Or" Game time limit per test 2 seconds ...
- 【跃迁之路】【425天】程序员高效学习方法论探索系列(实验阶段182-2018.04.06)...
@(跃迁之路)专栏 实验说明 从2017.10.6起,开启这个系列,目标只有一个:探索新的学习方法,实现跃迁式成长 实验期2年(2017.10.06 - 2019.10.06) 我将以自己为实验对象. ...
最新文章
- 看eShopOnContainers学一个EventBus
- 【C++ 语言】Visual Studio 配置 FFMPEG 开发环境 ( VS2019 CMake 环境安装 | 下载 FFMPEG 开发包 | 配置 FFMPEG )
- mysql1.8找回密码_PHP+Mysql+jQuery找回密码
- 【通知】有三AI更新420页14万字视觉算法工程师成长指导手册,可下载收藏打印...
- 2022年初,给5年内还想做产品经理的提个醒!
- 存储基础知识二 主要协议SCSI、FC、iSCSI
- CodeForces - 1454E Number of Simple Paths(基环树+思维)
- redis部署架构总结
- linux 下的igv软件,Linux IGV 自动画图 -- for 自动化报告
- 2020-10-27中国大学MOOC学习进度
- Linux系统环境下安装配置JDK
- 易语言webservice接口_易语言webservice接口调用助
- 电阻电容电感PCB封装真实尺寸大小
- android显示缩略图,Android:是否可以显示视频缩略图?
- 多站点同服务器同IP网站架设(IIS)心得
- 分享一个网页截图html代码
- table表格标签css固定最后一列方案
- 美容院加盟十大品牌到底怎么选
- 某公司盗用我的名字做虚假宣传
- 宅基地一码溯源、一码统管