- 博客(8)
- 收藏
- 关注
原创 Day 2 (前缀和 差分 二分 快速幂 逆元)
思路:能够分开的点 前面的所有数一定小于后面所有数 可以利用前缀和来判断 s表示原数组的前缀和 presum 表示 排成升序的前缀和 当s[i] == presum[i] 时 ans++可以求出an 注意题目的第一项跟这里第一项不太一样。可以发现 an - bn = 2^(n-1)up为an down 为bn。
2025-01-15 22:02:54
653
原创 Day 1---STL及基础数据结构
1.stl(standard template library) 包含一些常用数据结构与算法的模板的C++软件库。其包含四个组件----算法,容器,仿函数,迭代器。2.重要容器及其用法。
2025-01-14 22:43:12
440
原创 Codeforce Round 955(A - F)
思路:比对所有A的i 跟 B的i+1的大小 如果A[i] > B[i+1] 那么=将他们的差值累加到res 最后输出res。
2024-12-28 12:05:44
591
原创 Codeforces Round#988(A - G)
0 && a[i] == 0 说明后面都是1111....000的序列 但是我们a[i-1] 是已知的也就是后面1的个数。3.那么我们如果在后边区间 需要取到之前没选过的能量石 可以直接从堆中拿 (也就是假设我们当时很有远见 提前拿了该能量石)(1) i == 0 那么说明序列一定为1111....000的序列 无法确定1和0的个数。提问的顺序很关键每次都提问i~n才能确定前一位的值(询问i~n的值记作a[i])(1) a[i-1] == a[i] 说明前一位为1。1.记录所有出现的数的个数。
2024-12-14 19:09:06
852
原创 (codeforces round#784)部分题(E~H)
思路:例子jf,jf,jk,jk,jk1.先统计俩个位置字母出现位置 第一个位置的 j 出现 5次 第二个位置 f 出现2次 k 出现3次2.先不管重复的部分(假设没有重复)在第一个位置是j 有5 个 从5个里面选2个 利用我们提前打好的表 res += f[5] 依次类推 初步得到res = 143.处理相同的部分 我们事先将重复的字母对 存到map当中比如这里的jf,jf重复俩次 那么res-=f[2] * 2(因为j重复2次 f重复3次);6jkjkjk 那么res-=f[3] *2;
2024-12-08 18:27:55
338
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人