感慨

这次比较昏迷最近算法有点飘,都在玩pygame。。。做出第一题让人hack了,第二题还昏迷想错了

A Minimum Integer(数学)

水题,上来就能做出来但是让人hack成了tle,所以要思考一下具体的过程

原本我是认为直接把d进行累加看什么时候不在那个segment内也就是那个范围之内结果tle

今天思考一下发现有两种情况

①如果d本来就是小于左边界的那么就输出d就可以了,因为样例明确提示有原来的数也可以

②然后就是如果d在范围之内或者范围外可以用余数来确定具体的数公式是:

ans=r+d-r%d

如何说明其正确性呢?

首先AC了(。。。。)

其次先说明如果d大于r那么这个公式输出d没有任何问题

然后再说明特例d在segment内,那么ans一定大于r,要找最小的ans那么就需要找离r最小的数,所以先余数余一下看看ans距离r的一个距离然后再用特例去验证一下发现了这个公式成立(这也不算证明。。。)

代码

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. ios::sync_with_stdio(0);
  6. cin.tie(0);
  7. cout.tie(0);
  8. int n;
  9. cin>>n;
  10. while(n--)
  11. {
  12. int l,r,d;
  13. cin>>l>>r>>d;
  14. if(d<l)
  15. cout<<d<<"\n";
  16. else
  17. {
  18. int k=r%d;
  19. cout<<r+d-k<<"\n";
  20. }
  21. }
  22. }

B Accordion(字符串模拟)

昨天昏迷了忘记了一个右括号可以包含的问题今天上来借助着数据的力量把这个题A了,这个题数据就有进600组。。。还是模拟题着实是一道不错的题,很考验细节能力

首先按照特例先说一下-1的情况

(1)-1的情况

①没有出现左括号

②没有出现右括号

③两个括号中间的冒号少于两个

接着说一下具体的判定的思路实现自己来或者看代码

(2)最大值的计算

①首先要想一下什么时候会出现最大值那么不就是要在最大的两个合法的冒号内有最多的竖线吗?这个合法又是什么意思?

合法的意思就是两个冒号外面还有两个相应的闭合的中括号。所以有了思路我们的目标就明确了

就是去找合法的最大的冒号区域以及其中的竖线最后的答案就是4+区域内竖线的个数

代码

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int bk1[666666],bk2[666666],bk3[666666],bk4[666666],p1,p2,p3,p4,ans,sum,rt;
  4. int main()
  5. {
  6. ios::sync_with_stdio(0);
  7. cin.tie(0);
  8. cout.tie(0);
  9. string a;
  10. cin>>a;
  11. for(int i=0;i<a.size();i++)
  12. {
  13. if(a[i]=='[')
  14. bk1[p1++]=i;
  15. if(a[i]==':')
  16. bk2[p2++]=i;
  17. if(a[i]==']')
  18. bk3[p3++]=i;
  19. }
  20. for(int i=0;i<p2;i++)
  21. if(bk2[i]>bk1[0]&&bk2[i]<bk3[p3-1])
  22. ans++,bk4[p4++]=bk2[i];
  23. if(ans<2||p1==0||p3==0)
  24. return cout<<-1,0;
  25. for(int i=p3-1;i>=0;)
  26. {
  27. if(bk4[p4-1]<bk3[i])
  28. {
  29. rt=bk4[p4-1];
  30. break;
  31. }
  32. else
  33. p4--;
  34. }
  35. for(int i=bk4[0];i<rt;i++)
  36. if(a[i]=='|')
  37. sum++;
  38. cout<<4+sum;
  39. }

Educational Codeforces Round 58 (Rated for Div. 2) (前两题题解)的更多相关文章

  1. Educational Codeforces Round 58 (Rated for Div. 2) 题解

    Educational Codeforces Round 58 (Rated for Div. 2)  题目总链接:https://codeforces.com/contest/1101 A. Min ...

  2. Educational Codeforces Round 58 (Rated for Div. 2) F dp + 优化(新坑) + 离线处理

    https://codeforces.com/contest/1101/problem/F 题意 有n个城市,m辆卡车,每辆卡车有起点\(s_i\),终点\(f_i\),每公里油耗\(c_i\),可加 ...

  3. Educational Codeforces Round 58 (Rated for Div. 2) D 树形dp + 数学

    https://codeforces.com/contest/1101/problem/D 题意 一颗n个点的树,找出一条gcd>1的最长链,输出长度 题解 容易想到从自底向长转移 因为只需要g ...

  4. Educational Codeforces Round 58 (Rated for Div. 2) G 线性基

    https://codeforces.com/contest/1101/problem/G 题意 一个有n个数字的数组a[],将区间分成尽可能多段,使得段之间的相互组合异或和不等于零 题解 根据线性基 ...

  5. Educational Codeforces Round 58 (Rated for Div. 2)

    A. Minimum Integer 水 #include<bits/stdc++.h> #define clr(a,b) memset(a,b,sizeof(a)) using name ...

  6. Educational Codeforces Round 76 (Rated for Div. 2)E(dp||贪心||题解写法)

    题:https://codeforces.com/contest/1257/problem/E 题意:给定3个数组,可行操作:每个数都可以跳到另外俩个数组中去,实行多步操作后使三个数组拼接起来形成升序 ...

  7. Educational Codeforces Round 92 (Rated for Div. 2) B、C题解

    TAT 第一场codeforces B. Array Walk #暴力 #贪心 题目链接 题意 有\(a1, a2, ..., an\) 个格子(每个格子有各自分数),最初为1号格(初始分数为\(a1 ...

  8. 【Educational Codeforces Round 38 (Rated for Div. 2)】 Problem A-D 题解

    [比赛链接] 点击打开链接 [题解] Problem A Word Correction[字符串] 不用多说了吧,字符串的基本操作 Problem B  Run for your prize[贪心] ...

  9. Educational Codeforces Round 59 (Rated for Div. 2) (前四题)

    A. Digits Sequence Dividing(英文速读) 练习英语速读的题,我还上来昏迷一次....只要长度大于2那么一定可以等于2那么前面大于后面就行其他no 大于2的时候分成前面1个剩下 ...

随机推荐

  1. js读取ognl表达式的内容

    <input type="hidden" id="number"   value='<s:property  value="resultN ...

  2. Spring IOC 一——容器装配Bean的简单使用

    下文:SpringIOC 二-- 容器 和 Bean的深入理解 写在前面 这篇文章去年写的,缘起于去年某段时间被领导临时"抓壮丁"般的叫过去做java开发,然后在网上找了一个 Sp ...

  3. Redis操作命令大全

    一.key pattern 查询相应的key (1)redis允许模糊查询key 有3个通配符  *.?.[] (2)randomkey:返回随机key (3)type key:返回key存储的类型 ...

  4. [Usaco2005 Dec]Knights of Ni 骑士

    Description Bessie is in Camelot and has encountered a sticky situation: she needs to pass through t ...

  5. 关于python深度学习网站

      大数据文摘作品,转载要求见文末 编译团队|姚佳灵 裴迅 简介 ▼ 深度学习,是人工智能领域的一个突出的话题,被众人关注已经有相当长的一段时间了.它备受关注是因为在计算机视觉(Computer Vi ...

  6. ORA-14074: partition bound must collate higher than that of the last partition

    There is a error happen in crotab: CREATE parttion report ORA-14074:ORA-14074: partition bound must ...

  7. 虚拟机下安装 CentOS 7 的几个小问题

    ※ 网络问题(Destination Host Unreachable) 安装时网络选择的"桥接"模式, 安装完毕,并配置IP地址后,发现只能ping通自己,局域网内的其他IP无法 ...

  8. Apache Tomcat 之路(二 部署web 应用程序)

    1.创建一个webapplication,不论是解压的应用程序包还是war包,在tomcat 上都能部署,这里提供一个简单的web项目:git地址:https://github.com/coderxi ...

  9. iOS Programming UISplitViewController

    iOS Programming UISplitViewController  The iPad, on the other hand, has plenty of screen space to pr ...

  10. 动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据

    动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据:由存储过程决定,如果编写的存储过程可以生成需要呈现的表格则直接绑定,否则要动态生成表格