CodeForces - 1367

A - Short Substrings

很显然 前两个字母都取 之后隔一个取一个char s[maxn],ans[maxn];
int t;
int main()
{scanf("%d",&t);while(t--){int m=0;scanf("%s",s);ans[m++]=s[0];ans[m++]=s[1];for (int i=3;i<strlen(s);i+=2)ans[m++]=s[i];repp(i,0,m)printf("%c",ans[i]);puts("");}return 0;
}



B - Even Array

判断两种不同类型的非法情况是否相等int t,n,x;
int main()
{scanf("%d",&t);while(t--){int ji=0,ou=0;scanf("%d",&n);rep(i,0,n-1){scanf("%d",&x);if (i%2==x%2)continue;if (x%2==1)ji++;if (x%2==0)ou++;}if (ji==ou)W(ji);else W(-1);}return 0;
}



C - Social Distance

暴力预处理后再计算答案int t,n,k;
char s[maxn];
bool ok[maxn];
int solve(int x)
{if (x%(k+1)==0)return x/(k+1);else return x/(k+1)+1;
}
int main()
{scanf("%d",&t);while(t--){mem(ok,true);scanf("%d%d",&n,&k);scanf("%s",s);int sz=strlen(s);repp(i,0,sz){if (s[i]=='1'){rep(j,max(i-k,0),min(i+k,sz-1))ok[j]=false;}}int num=0,ans=0;repp(i,0,sz){if (ok[i])num++;else{ans+=solve(num);num=0;}}ans+=solve(num);W(ans);}return 0;
}



D - Task On The Board

b[i]=0的位置肯定填当前剩余字母中最大的
如果这个最大字母不够数量,就置为0,向下直到找到一个符合的字母。
每次找到合适字母填上之后,要对其余的b[i]减去距离
比Second大的有且只有First,所以每次去掉距离后,填Second的位置的b[]必被减为0
重复操作int t,m,b[maxn],num[maxn],sz;
char s[maxn],ans[maxn];
bool vis[maxn];
vector<int> V;
bool check()
{rep(i,1,m)if (ans[i]=='#')return false;return true;
}
int main()
{scanf("%d",&t);while(t--){mem(num,0);mem(vis,false);scanf("%s",s);sz=strlen(s);repp(i,0,sz)num[s[i]-'a']++;scanf("%d",&m);rep(i,1,m)ans[i]='#',scanf("%d",&b[i]);while(!check()){V.clear();rep(i,1,m){if (vis[i]||b[i])continue;V.pb(i);vis[i]=true;}for (int i=25;i>=0;i--){if (num[i]>=V.size()){num[i]=0;repp(j,0,V.size())ans[V[j]]='a'+i;break;}num[i]=0;}repp(i,0,V.size())rep(j,1,m)if (!vis[j])b[j]-=abs(V[i]-j);}rep(i,1,m)printf("%c",ans[i]);puts("");}return 0;
}



E - Necklace Assembly

假设取的长度为i
gcd(i,k)即为循环元的长度
i/(gcd(i,k))即为循环元的个数
假设字母'a'参与循环元的组成,则a的个数x与循环元中a的个数y的关系是:y=x/(i/(gcd(i,k)))
对每个字母都进行遍历,如果最终能组成循环元的最大长度大于gcd(i,k),则符合条件int t,n,k,num[30];
char s[maxn];
int main()
{scanf("%d",&t);while(t--){int ans=0;mem(num,0);scanf("%d%d",&n,&k);scanf("%s",s);repp(i,0,strlen(s))num[s[i]-'a']++;rep(i,1,n){int T=__gcd(i,k);int Blocksize=i/T;int cnt=0;rep(j,0,25)cnt+=num[j]/Blocksize;if (cnt>=T)ans=max(ans,i);}W(ans);}return 0;
}

CodeForces - 1367相关推荐

  1. codeforces 1367B - Even Array

    B. Even Array time limit per test2 seconds memory limit per test256 megabytes inputstandard input ou ...

  2. CodeForces 375D Tree and Queries

    传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...

  3. 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)

    题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...

  4. 【codeforces 812C】Sagheer and Nubian Market

    [题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...

  5. CodeForces 获得数据

    针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...

  6. codeforces水题100道 第二十七题 Codeforces Round #172 (Div. 2) A. Word Capitalization (strings)...

    题目链接:http://www.codeforces.com/problemset/problem/281/A 题意:将一个英文字母的首字母变成大写,然后输出. C++代码: #include < ...

  7. CodeForces 595A

    题目链接: http://codeforces.com/problemset/problem/595/A 题意: 一栋楼,有n层,每层有m户,每户有2个窗户,问这栋楼还有多少户没有睡觉(只要一个窗户灯 ...

  8. codeforces A. Jeff and Digits 解题报告

    题目链接:http://codeforces.com/problemset/problem/352/A 题目意思:给定一个只有0或5组成的序列,你要重新编排这个序列(当然你可以不取尽这些数字),使得这 ...

  9. Codeforces Round #506 (Div. 3)

    Codeforces Round #506 (Div. 3) 实习期间事不多,对div3 面向题解和数据编程了一波 A. Many Equal Substrings 题目链接 A题就是找后缀和前缀重合 ...

最新文章

  1. sound.js # pixi辅助插件 — 中文翻译教程
  2. OSPF中stub area配置实例
  3. BZOJ3233【AHOI2013】找硬币
  4. 0603贴片电阻阻值对照表_怎样读贴片电阻阻值
  5. C++使用数组实现queue之二(附完整源码)
  6. linux终端vim底行模式点冒号,Vim基本使用方法
  7. 通过kubeadm安装kubernetes 1.7文档记录[docker容器方式]
  8. 传输层端口号的范围是多少?被分为哪两部分_第三章, 传输层
  9. Zabbix主机处于check_ping_icmpping状态问题解决
  10. Akka的Actor层级结构《seven》译
  11. 工具组件_从零认知BI: BI组件、架构、工具、优势、缺点
  12. 数字图像处理 采样定理_数字图像处理(第4版)
  13. 多读书多看报,少吃零食多睡觉—2014总结,2015规划
  14. 制作网站需要什么技术呢?
  15. iPad及BT4下的WEP破解实验与分析 | Network Security
  16. c++11总结21——atomic_flag
  17. 网络抖动多少ms算正常_网络延迟多少ms正常 - 卡饭网
  18. 我的简约论坛php源码,我的论坛源代码(二)
  19. 响应式织梦模板日化食品零食类网站
  20. MATLAB学习笔记(六)线性方程和线性系统

热门文章

  1. 企业权限管理系统---用户模块
  2. 字节流和字符流(详解)
  3. 转载一篇人生思考:一名大学毕业生的反思
  4. EDA元器件封装导入allegro
  5. QGIS 加载XYZ Tiles
  6. 如何查看win10专业版是否永久激活
  7. React Profiler Chrome Tool
  8. Kafka常用命令之kafka-topics.sh
  9. FreeMarker数值数据处理问题
  10. Xv6学习之kinit1