7.29 总结+复盘

经验教训

1.string中的substr的参数是(左端点,长度)

2.DFS搜索顺序(取出之后 / 放入之前)

3.STL容器不能边用迭代器遍历边改动容器

4.不开 long \ long 见祖宗

5.多测不清空,考试两行泪

6.strcmp很玄学,一定要用 <0 和 >0

7.大样例不一定靠谱

8.DP最忌惮似是而非

除非自己写出来,不然永远不要相信自己能写出来

第一题

题目

题解

字典序:按顺序依次比较两个串的第i 个字符,如果不同则为字符的大小比
较结果,如果相同则比较下一位。
本题有两种写法,使用 char 数组可以使用strcmp 来比较字典序,然后手写
一个substr 函数提取子串;
使用string 可以使用substr 来提取子串,然后直接使用小于号来比较字典
序。

第二题

题目

题解

只需要检查一个点i 是否能同时满足有一条1 到i 的边以及i 到n 的边。
所以,读入边(u, v) 后,如果u = 1,那么将v 打上一个标记;如果v = n,
那么将u 打上另一个标记,最后看是否有一个点被打了两次标记即可。

另外:不要写最短路!

第三题

题目

题解

类似于上周周赛的思想,如果可以对所有数字任意执行减法,根据辗转相减
法原理,那么最后能得到的最小的数字便是所有数字的gcd。
所以求出所有数字的gcd,答案便是最大的数字除以这个gcd。

第四题

题目

=f(i-1,j-1)+x_{i}+b_{j}

题解

设f(i, j) 表示前i 场,现在连赢了j 局的方案数,j = 0 表示现在输了一局。
那么自然有转移方程:f(i,0)=max_{j=0}^{n}, {f(i-1,j)} ,f(i,j) 其中b_{j} 表示连赢 j 场获得的奖励分数。
这里的b_{j} 可以直接开桶来记录连赢 j 场的得分。O(nm)。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值