题目链接:https://codeforc.es/gym/101981/attachments

题意:给出两个只包含01的字符串,每次可以选择连续k个相同的数字进行翻转,问能否通过若干次操作把两个字符串变为相同。

题解:(qls:通过观察可以发现,可以把每个 1 在不跨越其他 1 的情况下往左/右移 k 个位置,尽可能把 1 往左移,出现连续 k 个 1 就消掉,check一下两个串操作完之后是否相等。)

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define ll long long
  4. #define ull unsigned long long
  5. #define mst(a,b) memset((a),(b),sizeof(a))
  6. #define mp(a,b) make_pair(a,b)
  7. #define pi acos(-1)
  8. #define pii pair<int,int>
  9. #define pb push_back
  10. const int INF = 0x3f3f3f3f;
  11. const double eps = 1e-;
  12. const int maxn = 1e6 + ;
  13. const int maxm = 1e5 + ;
  14. const ll mod = ;
  15.  
  16. int n,k;
  17. string s1,s2;
  18. int st[maxn],cnt[maxn];
  19.  
  20. string F(string s) {
  21. if(k == ) return "";
  22. int top = ;
  23. for(int i = ; i < n; i++) {
  24. if(top && st[top] == s[i] - '') {
  25. cnt[top]++;
  26. if(cnt[top] == k) top--;
  27. } else {
  28. st[++top] = s[i] - '';
  29. cnt[top] = ;
  30. }
  31. }
  32. s = "";
  33. for(int i = ; i <= top; i++) {
  34. while(cnt[i]) {
  35. s += st[i];
  36. cnt[i]--;
  37. }
  38. }
  39. return s;
  40. }
  41.  
  42. int main() {
  43. #ifdef local
  44. freopen("data.txt", "r", stdin);
  45. // freopen("data.txt", "w", stdout);
  46. #endif
  47. ios_base::sync_with_stdio();
  48. cin.tie();
  49. cout.tie();
  50. cin >> n >> k >> s1 >> s2;
  51. if(F(s1) == F(s2)) cout << "Yes" << endl;
  52. else cout << "No" << endl;
  53. return ;
  54. }

ACM-ICPC 2018 南京赛区现场赛 E. Eva and Euro coins (思维)的更多相关文章

  1. ACM-ICPC 2018 南京赛区现场赛 K. Kangaroo Puzzle (思维+构造)

    题目链接:https://codeforc.es/gym/101981/attachments 题意:在 n * m 的平面上有若干个袋鼠和墙(1为袋鼠,0为墙),每次可以把所有袋鼠整体往一个方向移动 ...

  2. 2016 ACM/ICPC亚洲区青岛站现场赛(部分题解)

    摘要 本文主要列举并求解了2016 ACM/ICPC亚洲区青岛站现场赛的部分真题,着重介绍了各个题目的解题思路,结合详细的AC代码,意在熟悉青岛赛区的出题策略,以备战2018青岛站现场赛. HDU 5 ...

  3. 2013ACM/ICPC亚洲区南京站现场赛---Poor Warehouse Keeper(贪心)

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4803 Problem Description Jenny is a warehouse keeper. ...

  4. HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)

    HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others)    Memory Limit: ...

  5. ICPC 2018 徐州赛区网络赛

    ACM-ICPC 2018 徐州赛区网络赛  去年博客记录过这场比赛经历:该死的水题  一年过去了,不被水题卡了,但难题也没多做几道.水平微微有点长进.     D. Easy Math 题意:   ...

  6. ACM总结——2017ACM-ICPC北京赛区现场赛总结

    现在距离比赛结束已经过了一个多星期了,也是终于有时间写下心得了.回来就是被压着做项目,也是够够的. 这次比赛一样是我和两个学弟(虽然是学弟,但我的实力才是最弱的T_T)一起参加的,成绩的话打铁,算是情 ...

  7. ACM ICPC 2018 青岛赛区 部分金牌题题解(K,L,I,G)

     目录: K Airdrop I Soldier Game L Sub-cycle Graph G Repair the Artwork ———————————————————— ps:楼主脑残有点严 ...

  8. 2013ACM/ICPC亚洲区南京站现场赛——题目重现

    GPA http://acm.hdu.edu.cn/showproblem.php?pid=4802 签到题,输入两个表,注意细心点就行了. #include<cstdio> #inclu ...

  9. hdu4811-Ball(2013ACM/ICPC亚洲区南京站现场赛)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4811 题目描述: Problem Description Jenny likes balls. He ...

随机推荐

  1. 控制台程序转化为windows服务

    首先我们创建一个控制台应用程序WriteLog,然后添加windows服务LogService 新增的windows服务切换到代码视图,我这边用log4net进行的日志的记录 OnStart方式是服务 ...

  2. 《Mysql - 优化器是如何选择索引的?》

    一:概念 - 在 索引建立之后,一条语句可能会命中多个索引,这时,索引的选择,就会交由 优化器 来选择合适的索引. - 优化器选择索引的目的,是找到一个最优的执行方案,并用最小的代价去执行语句. 二: ...

  3. AlgorithmMap Dev Log

    Log 2019.08.29 ------------------------------------------------------------------------------------- ...

  4. 20191030-Python实现闭包

    打算在过年前每天总结一个知识点,所以把自己总结的知识点分享出来,中间参考了网络上很多大神的总结,但是发布时候因为时间太久可能没有找到原文链接,如果侵权请联系我删除 20191030:闭包 首先一个函数 ...

  5. php 配置微信公众号

    首先你要在微信公众号官网申请一个公众号,然后登录进去 在网页的左下方找到开发的基本配置 就可以开始配置服务器下面的东西了 点击打开成这个样子的 就是一些参数,url填写你自己服务器的具体地址就好了,我 ...

  6. 0160 十分钟看懂时序数据库(I)-存储

    摘要:2017年时序数据库忽然火了起来.开年2月Facebook开源了beringei时序数据库:到了4月基于PostgreSQL打造的时序数据库TimeScaleDB也开源了,而早在2016年7月, ...

  7. Angular 调试

    我们新建一个项目.执行 ng server 会启动一个网站. 1. 执行 where ng .看看ng 是什么. D:\Abp学习\angular\Mytest>where ng C:\User ...

  8. Java Web 深入分析(6) Tomcat

    tomcat是什么:汤姆猫?Javaweb服务器? Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache ...

  9. 11. Java方法的定义与使用

    1.1方法的定义 方法是一段可以被重复调用的代码块. 方法的声明: public static 方法返回值 方法名称 ([参数类型 变量...]) 方法体代码: [return 返回值]: 当方法以v ...

  10. 关于Vue中,在方法中使用(操作)子组件获取到的数据

    已知,子组件通过props获取父组件传过来的数据,而这个数据是无法在created.mounted生命周期中使用的,只能在beforeUpdated或者updated获取到: 但是如果我们要使用这个数 ...