A 签到

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll n,k;
cin>>n>>k;
ll ans=n/k;
if(ans%==){
cout<<"YES";
}
else cout<<"NO";
}

B 模拟题,注意细节即可。

 #include<bits/stdc++.h>
using namespace std;
typedef long long ll;
bool zi[];
int main(){
string s,t,tt;
cin>>s>>t;
for(int i=;i<s.size();i++){
zi[s[i]-'a']=true;
}
int n;
cin>>n;
for(int i=;i<n;i++){
cin>>tt;
int aa=,kk;
bool f1=true; for(int j=;j<t.size();j++){
kk=j+aa;
if(t[j]!='?'&&t[j]!='*'&&t[j]!=tt[kk]){
cout<<"NO\n";
f1=false;
break;
} if(t[j]=='?'){
bool flag=false;
if(zi[tt[kk]-'a']) flag=true;
if(flag) continue;
else{
cout<<"NO\n";
f1=false;
break;
}
}
if(t[j]=='*'){
int len=tt.size()-t.size();
if(len<-){
cout<<"NO\n";
f1=false;
break;
}
if(len==-){
aa--;
continue;
}
bool flag=false;
for(int k=;k<=len;k++){
if(zi[tt[k+kk]-'a']){ flag=true;break;}
}
if(flag){
cout<<"NO\n";
f1=false;
break;
}
else{
aa+=len;
continue;
}
}
if(j==t.size()-&&kk!=tt.size()-){
cout<<"NO\n";
f1=false;
break;
}
}
if(f1) cout<<"YES\n";
}
}

C

D LCA模板以及距离的求法,注意用O(n)的模板会超时,据说树链剖分也可做。

 #include<bits/stdc++.h>
#define maxv 100005
using namespace std;
typedef long long ll;
vector<int>G[maxv];
int root;
int parent[][maxv];
int depth[maxv];
int a,b,c;
int n,q,t;
void dfs(int v,int p,int d){
parent[][v]=p;
depth[v]=d;
for(int i=;i<G[v].size();i++){
if(G[v][i]!=p) dfs(G[v][i],v,d+);
}
} void init(){
dfs(,-,);
for(int k=;k+<;k++){
for(int v=;v<n;v++){
if(parent[k][v]<) parent[k+][v]=-;
else parent[k+][v]=parent[k][parent[k][v]];
}
}
} int lca(int u,int v){
if(depth[u]>depth[v]) swap(u,v);
for(int k=;k<;k++){
if((depth[u]-depth[v])>>k&){
v=parent[k][v];
}
}
if(u==v) return u;
for(int k=-;k>=;k--){
if(parent[k][u]!=parent[k][v]){
u=parent[k][u];
v=parent[k][v];
}
}
return parent[][u];
}
int dis(int a,int b,int u){
return depth[a]+depth[b]-*depth[u];
}
int main(){
cin>>n>>q;
for(int i=;i<n-;i++){
cin>>t;
G[i+].push_back(t-);
G[t-].push_back(i+);
}
init();
for(int j=;j<q;j++){
cin>>a>>b>>c;
a-=;
b-=;
c-=;
int v1,v2,v3;
v1=lca(a,b);
v2=lca(b,c);
v3=lca(c,a);
int ab,bc,ac;
ab=dis(a,b,v1);
bc=dis(b,c,v2);
ac=dis(a,c,v3);
int ans=max(max(ab+bc-ac,bc+ac-ab),ac+ab-bc)/+;
printf("%d\n",ans);
}
return ;
}

E待补

#425[div2]的更多相关文章

  1. Codeforces #425 Div2 D

    #425 Div2 D 题意 给出一个树形图,每次询问给出三个点,从其中选择两个作为起始点,一个终点,求从两个起始点出发(走最短路)到达终点经过的共同的点最多的数量. 分析 这种树上点与点之间距离有关 ...

  2. codeforces round 425 div2

    A. Sasha and Sticks 水题,判断一下次数的奇和偶就可以的. B. Petya and Exam 赛上的时候没有写出来,orz,记录一下吧. 题意:给出一个模式串,可能会有?和*两种符 ...

  3. bc#54 div2

    用小号做的div2 A:竟然看错了排序顺序...白白WA了两发 注意读入一整行(包括空格):getline(cin,st) [gets也是资瓷的 #include<iostream> us ...

  4. $('div a') 与$('div>a'),.div+.div2与.div~.div2

    $('div a'):div标签下所有层次a元素的jquery对象 $('div>a'):div标签下子元素层次a元素的jquery对象 <body> <div class=' ...

  5. SRM 657 DIV2

    -------一直想打SRM,但是感觉Topcoder用起来太麻烦了.题目还是英文,不过没什么事干还是来打一打好了.但是刚注册的号只能打DIV2,反正我这么弱也只适合DIV2了.. T1: 题目大意: ...

  6. CodeForces Round 192 Div2

    This is the first time I took part in Codeforces Competition.The only felt is that my IQ was contemp ...

  7. Codeforce Round #211 Div2

    真的是b到不行啊! 尼玛C题一个这么简单的题目没出 aabbccddee 正确的是aabccdee 我的是   aabcdee 硬是TM的不够用,想半天还以为自己的是对的... A:题... B:题. ...

  8. Topcoder srm 632 div2

    脑洞太大,简单东西就是想复杂,活该一直DIV2; A:水,基本判断A[I]<=A[I-1],ANS++; B:不知道别人怎么做的,我的是100*N*N;没办法想的太多了,忘记是连续的数列 我们枚 ...

  9. Pure-ftpd无法连接到服务器 425错误

    今天是五一假期的前一天,闲来没事,打开自己的博客,发现很久没有备份数据了,由于工作方面的原因,自己慢慢的退出了技术界,但本人还是依然向往技术界啊!各位技术宅们,加油! 问题发现 当我打开FTP客户端软 ...

随机推荐

  1. CenterFactory

    <?php /* 实例3 */ /* 抽象工厂 */ //青铜会员的打折商品 class BronzeRebateCommodity { //描述 public $desc = '青铜会员的打折 ...

  2. [算法]打印N个数组的整体最大Top K

    题目: 有N个长度不一的数组,所有的数组都是有序的,请从大到小打印这N个数组整体最大的前K个数. 例如: 输入含有N行元素的二维数组代表N个一维数组. 219,405,538,845,971 148, ...

  3. HDU 之 City Game

                                                                                      City Game Time Lim ...

  4. 51nod 1196

    题目 神犇题解:见题目讨论区曹鹏神犇的讲解. 跪烂..倒地不起.. 对于每一个合法解,我们都可以将其唯一地分解成若干个“链”.所谓链是指由那些小于n/2的字符组成的,并且最后一个字符满足2*i> ...

  5. 算法(Algorithms)第4版 练习 1.5.14

    package com.qiusongde; import edu.princeton.cs.algs4.StdIn; import edu.princeton.cs.algs4.StdOut; pu ...

  6. bzoj 1008: [HNOI2008]越狱 数学

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Description 监狱有连 ...

  7. Oracle创建函数

    --创建函数语法 create [or replace] function [schema.]function_name (函数参数列表) --参数有IN.OUT.IN OUT三种类型:IN代表需要输 ...

  8. java:类集回顾

    1.类集设置的主要目的:动态的对象数组 2.类集中有以下几个接口: Collection:是存放单值的最大父接口 |- List接口:里面的内容是允许重复的 |- ArrayList, Vector, ...

  9. poj3177边-双连通分量

    题意和poj3352一样..唯一区别就是有重边,预先判断一下就好了 #include<map> #include<set> #include<list> #incl ...

  10. Unity3D之Mesh【创建动态Mesh的学习网站】

    觉得不错!做记录! 1.http://gamerboom.com/archives/76484 2.http://jayelinda.com/ 3.几个私人的博客,可能有启发:http://blog. ...