当前位置: 首页 > news >正文

遵义网信办济南seo网站推广公司

遵义网信办,济南seo网站推广公司,上海企业名称,计算机应用技术是学什么【208A Dubstep】 http://codeforces.ru/problemset/problem/208/A 题目大意#xff1a;一个句子被添加了若干“WUB”#xff0c;问原句。 将WUB去掉就行了#xff0c;在句首或句尾直接删除#xff0c;在句中替换成空格#xff0c;注意多个“WUB”相连时特判。 #include …【208A  Dubstep】   http://codeforces.ru/problemset/problem/208/A   题目大意一个句子被添加了若干“WUB”问原句。   将WUB去掉就行了在句首或句尾直接删除在句中替换成空格注意多个“WUB”相连时特判。 #include iostream #include cstdio #include cstring #include cstdlib using namespace std;char s[3000]; int len; bool exist;int main(){scanf(%s,s);lenstrlen(s);int i0;while(true){if(s[i]W s[i1]U s[i2]B) i3;else break;}while(true){if(s[len-1]B s[len-2]U s[len-3]W) len-3;else break;}while(ilen){if(s[i]W s[i1]U s[i2]B){i3;if(!exist) printf( );existtrue;}else{couts[i];i;existfalse;}}coutendl;return 0; }【208B Solitaire】    http://codeforces.ru/problemset/problem/208/B   题目大意桌面上n堆牌牌有数值和花色两个属性。一堆可以放到另一堆上当且仅当两堆牌最上面一张的牌面或花色相同。每次可以将最后一堆第x堆放到第x-1堆或x-3堆如果存在问是否存在策略使得所有牌合成一堆。   由于n很小容易想到搜索。但是O(2^n)显然难以令人接受。所以考虑对搜索过程记忆化。f[i][a][b][c]表示当前处理第i堆最后一堆是第a堆倒数第二堆是第b堆倒数第三堆是第c堆时是否可以合成一堆每次搜索后记录结果避免重复搜索。 #include iostream #include cstdio #include cstdlib #include cstring using namespace std;char card[52][2]; int n,f[53][53][53][53];bool check(char a[2], char b[2]){return a[0]b[0] || a[1]b[1]; }bool dfs(int cur,int a,int b,int c){bool resfalse;if(cur1) return true;if(f[cur][a][b][c]) return false;if(check(card[a],card[b]))res|dfs(cur-1,a,c,cur-3);if(!res cur-3 check(card[a],card[cur-3]))res|dfs(cur-1,b,c,a);return !(f[cur][a][b][c]!res); }int main(){scanf(%d,n);memset(f,false,sizeof(f));for(int i1;in;i)scanf(%s,card[i]);if(dfs(n,n,n-1,n-2))printf(YES\n);else printf(NO\n);return 0; }【208C Police Station】   http://codeforces.ru/problemset/problem/208/c   题目大意给定N个节点M条边的无向图边权相同。在图中选一个点使得从1到N的最短路上含有被点覆盖的边的数量的平均值最大。很别扭还是看原题吧……   当时这个题很少有做的可能是因为不好想。   首先他要求最短路其次还要求出最短路的数量然后还要知道每个点分别在多少条最短路径上。   最短路可以用Floyd来求记为sp数量可以用DPf[i][j]表示从1出发走j步到达i的方案数f[i][j]Σf[u][j-1],u→i最后求经过每个点有多少条最短路可能让人感觉比较麻烦其实也很简单的。用g[i][j]再统计一下从n出发的方案数方程跟f[i][j]的一样那么对于一点x经过他的最短路条数num就是f[i][j]*g[i][sp-dist[i][j]]。此外还有一个问题就是如果这个点选在2~N上每个点将覆盖最短路上的两条边而如果选在1或N上只能覆盖最短路上的一条边。 #include iostream #include cstdio #include cstring #include cstdlib #include queue using namespace std; templateclass Tinline void gmax(T a,T b){if(ab)ab;}int n,m,x,y,sp,dist[200],f[200][200],g[200][200],map[200][200],ans; bool vis[200]; double res;struct EDGE{int pnt;EDGE *pre;EDGE(){}EDGE(int _pnt,EDGE *_pre):pnt(_pnt),pre(_pre){} }Edge[20000],*SPEdge,*edge[200];inline void addedge(int a,int b){edge[a]new(SP)EDGE(b,edge[a]);edge[b]new(SP)EDGE(a,edge[b]); } int main(){scanf(%d%d,n,m);for(int i1;im;i){scanf(%d%d,x,y);addedge(x,y);map[x][y]map[y][x]1;}for(int k1;kn;k)for(int i1;in;i)if(map[i][k])for(int j1;jn;j)if(map[k][j])if(!map[i][j] || map[i][j]map[i][k]map[k][j])map[i][j]map[i][k]map[k][j];spmap[1][n];f[1][0]1;for(int i0;isp;i)for(int j1;jn;j)for(EDGE *kedge[j];k;kk-pre)f[k-pnt][i1]f[j][i];g[n][0]1;for(int i0;isp;i)for(int j1;jn;j)for(EDGE *kedge[j];k;kk-pre)g[k-pnt][i1]g[j][i];for(int i2;in;i)if(map[1][i]map[i][n]sp) gmax(ans,f[i][map[1][i]]*g[i][map[i][n]]);ans1;gmax(ans,f[n][sp]);res(double)ans/(double)f[n][sp];printf(%.12lf\n,res);return 0; }    【204D Prizes,Prizes,more Prizes】   http://codeforces.ru/problemset/problem/208/d   题目大意好像是吃什么东西每吃一个就会得到多少积分就像方便面里面兑换卡一样。有五种奖品需要积分abcde主人公一包一包吃攒到能兑换奖品就去兑换并且先兑换价值最大的问最后能兑到五种奖品各多少还能剩下多少积分。   这个题烂大街了rating和第一题已经差不多了。   就是把积分累加、累加、累加……低于最小奖品价值的时候就去兑奖从高往低兑能兑多少对多少。兑换的时候不能暴力模拟会TLE。 #include iostream #include cstdio #include cstring #include cstdlib using namespace std;long long n,a[100],b[100],s[100],cur;long long exchange(long long x){for(int i5;i0;i--)b[i]x/a[i],x-(x/a[i]*a[i]);return x; }int main(){cinn;for(int i1;in;i)cins[i];cina[1]a[2]a[3]a[4]a[5];cur0;for(int i1;in;i){curs[i];if(cura[1]) curexchange(cur);}for(int i1;i5;i) coutb[i] ;coutb[5]endl;coutcurendl;return 0; }【208E Blood Cousins】   http://codeforces.ru/problemset/problem/208/e   题目大意给你若干颗树若干个询问(x,y)回答在含有结点x的树中有多少结点z使得x和z关于他们LCA的深度为y。   。。。。。。srO kAc Orz。。。。。。   kAc教的什么树套树、函数式线段树都不会写……只会写一个二分。   首先用倍增法求LCA然后求LCA下面深度为y的结点个数。   对于统计这一步可以用dfs序来搞。把时间戳按结点深度压一个vector每次询问的时候在与x同深度的时间戳序列里面二分找到进入LCA子树与离开LCA子树的时间戳之间的节点个数再减去x自己就是答案。 #include iostream #include cstdio #include cstdlib #include cstring #include vector #include algorithm #define MN 100010 using namespace std;vectorint pos[MN],t; int n,m,x,y,deep[MN],l[MN],r[MN],idx,fa[MN][20];struct EDGE{int pnt;EDGE *pre;EDGE(){}EDGE(int _pnt,EDGE *_pre):pnt(_pnt),pre(_pre){} }Edge[MN],*SPEdge,*edge[MN];inline void addedge(int a,int b){edge[a]new(SP)EDGE(b,edge[a]); }void dfs(int x,int dep){deep[x]dep;pos[dep].push_back(idx);l[x]idx;for(EDGE *jedge[x];j;jj-pre)dfs(j-pnt,dep1);r[x]idx; }int main(){scanf(%d,n);for(int i1;in;i){scanf(%d,fa[i][0]);addedge(fa[i][0],i);}dfs(0,0);for(int j1;j17;j)for(int i1;in;i)fa[i][j]fa[fa[i][j-1]][j-1];scanf(%d,m);while(m--){scanf(%d%d,x,y);tpos[deep[x]];for(int i0;i17;i)if(yi1) xfa[x][i];printf(%d ,x?lower_bound(t.begin(),t.end(),r[x])-lower_bound(t.begin(),t.end(),l[x])-1:0);}return 0; }转载于:https://www.cnblogs.com/Delostik/archive/2012/07/24/2606914.html
http://www.zqtcl.cn/news/407467/

相关文章:

  • 如何介绍自己做的网站建设三库一平台
  • 郑州网站商城建设iframe 一直网站底部
  • 1688网站怎么样百度一下你知道
  • 做电商图的设计网站蚌埠网页设计培训
  • 江苏省建设工程质量监督站网站手机网站 案例
  • 优而思 网站科技自立自强是国家强盛之基
  • 去哪里购买网站空间专门做家居的网站
  • 网站信息安全建设方案公众号网站建设
  • 网站的设计方案淘宝大数据查询平台
  • 深圳营销型网站建设 龙华信科网站项目有需要什么技术支持
  • 开源网站模板cms网店推广实训总结
  • 常见的电子商务网站有哪些建设校园门户网站信息意义
  • 象山经济开发区建设有限公司网站足球比赛直播app
  • 国外做mg动画的网站大全网站打不开 别的电脑能打开
  • 手机怎么创网站西宁企业做网站
  • 网站主机多大wordpress连接错误
  • 3d建站电商平台网站开发过程是什么
  • 优化核心系列网站wordpress下拉刷新
  • 深圳建站定制公司国外试用网站空间
  • 网站建设的原则有哪些内容建设网站的详细步骤
  • wordpress网站换字体宣传电脑的网站开发
  • 移动网站设计上机考试修改wordpress域名
  • 个体户 建设网站房子已交房 建设局网站查不到
  • 在自己的电脑建设空间网站百中搜优化软件
  • 专业房产网站建设公司wordpress导入项目
  • 网站安全建设必要性企业vi设计是什么意思
  • 建站工具有哪些社区兰州市城乡建设局网站通知公告
  • 深圳市移动端网站建设wordpress get_category_parents
  • 多用户商城(c2c)网站制作方案招聘网站如何做推广
  • 微信云网站用什么做做网站卖产品