topcoder做题

50道div1 easy

已完成 22/50

[SRM 767 1A]: 只有上次登录时间是肯定在的 肯定不在的时间段差分一下 注意细节

[SRM 699 1A]: 分析一下 按位枚举 不考虑$-1$ 统计这位为$1$和为$0$的数的个数 对于一个为$0$的位 如果自身为$0$ 那么其他位置有偶数个$1$ 可以推出为$1$的位这位都应填$1$ 否则不满足条件 这种情况下把所有$1$都填上$1$是最小的 需要$1$的个数为奇数 如果有$-1$的话补上一个$1$即可。 然后考虑对某个为$0$的位填$1$ 那么其他位置有奇数个$1$ 可以推出所有为$1$的位都应填$0$ 那么可以推出所有为$0$的位应该填$1$ 如果奇偶性不对用$-1$补。

[SRM 698 1A]: 枚举分割点 $dp$即可

[SRM 697 1A]: 这种题推式子比直观想象更容易 考虑某个质因子$p$ 在$a_i$中的次数为$cnt_i$ 那么可以转化为$(b_i+1)*cnt_i \geq \sum_{i}{cnt_i}$ 把$(b_i+1)$除过去 然后把所有不等式加起来 等价于$\sum_{i}{\frac{1}{b_i+1}} \leq 1$ 那么成立的必要条件就是如果取等号 有相同的$b_i$是不行的 取大于号则可行。?

[SRM 696 1A]: 考虑贪心 先把度数为$1$的点能染色尽量染 剩下的点不超过$22$ 状压$dp$即可

[SRM 695 1A]: 从大往小扫 把大的的贡献在小的中减去 然后贪心构造

[SRM 694 1A]: 背包$dp$ 加一维记录$1,2,3$选没选

[SRM 693 1A]: 发现边之间的依赖关系,$dp$即可

[SRM 692 1A]: 二分答案

[SRM 691 1A]: 分三种情况讨论 是否不连通 是否在一个环内 是否不在一个环内

[SRM 690 1A]: 思路不错 如果$n$是奇数 那么选前$k$小的偶数 如果$n$不是$3$的倍数 选前$k$小$3$的倍数 以此类推 但是$7$的时候会出问题 第$15$小是$105$ 这个数是$n=60$ 前面加上一个$1$即可

[SRM 688 1A]: 发现配对好的括号不受操作影响,于是只剩下未配对的括号,讨论即可

[SRM 687 1A]:设$b_i=a_i-1$,$b_i$是$fib$数列,那么先求出用最少的$b$表示出$n-k$,如果最少的个数比$k$大无解,否则根据$fib$数列的性质可以凑出来$k$个 

[SRM 686 1A]: $dp[l][r]$表示$[l,r]$区间形成合法序列的个数,每次枚举选一对合法括号或者直接不选,两边分别$dp$即可,这个转移有点巧妙,每次给最左边的括号匹配...

[SRM 685 1A]: 枚举第一个元素,然后拓展,暴力即可

[SRM 684 1A]: 枚举左右端点,中间dp。一直觉得贪心就行,结果看了题解要dp。

[SRM 683 1A]: 发现肯定有相邻的两堆(以为这是错的。。。)不会有任何操作,那么枚举断点,计算前缀和,这样对于某个位置有前缀和绝对值的贡献

[SRM 682 1A]: 想复杂了,直接枚举一个点的两条出边讨论一下

[SRM 681 1A]: 二分答案,用堆维护一下所有区间。

[SRM 680 1A]: 还没有搞懂

[SRM 679 1A]: 贪心一下就行 数据好像有误

[SRM 678 1A]: 发现一个数字最多一次向前移n-D位 计算最大周期即可

posted @ 2019-10-06 20:23  19992147  阅读(325)  评论(0编辑  收藏  举报