03 2023 档案
摘要:Problem - D - Codeforces 枚举/线性dp 枚举做法: 枚举每个点,满足条件左边全是0右边全是1 取每个点花费中的最小值 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll co
阅读全文
摘要:Problem - C - Codeforces 这句话限制只能用2构造,用1构造可能会出现0,使得第三个条件不满足 先预处理出连续i个数对答案的贡献,再二分查找最后一个小于等于k的值 然后在这个数后面构造一个 2 * ( k - pre[idx] - idx) - 1例如 2 2 2 贡献是6这样
阅读全文
摘要:牛牛有能力使得任意两座城市间可以通过修好的道路互相到达 在一颗最小生成树中的任意两点都是可以彼此到达的
阅读全文
摘要:Problem - C - Codeforces a数组一定是递增的 set存下所有没出现的元素,然后遍历数组 如果a[i] != a[i - 1]将 a[i-1]压进set(a[i]想出现要求a[i-1]出现过),输出set中最小的,在删除最小的 #include<bits/stdc++.h> u
阅读全文
摘要:Problem - C - Codeforces 思路: 计算每个数字出现次数,单独求每个数字的贡献,一共有m+1个数组 假如出现了5次那就是 (m)+(m-1)+(m-2)+.....+(m-4),用首项加末项乘项数除以二计算,m代表多少个数组,i.second代表每个数字出现次数 ans+=(m
阅读全文
摘要:题目链接:Problem - D - Codeforces 向上取整+思维 向上取整操作:(A+B-1)/B 就是对 A/B 的向上取整 思路: #include<bits/stdc++.h> using namespace std; typedef long long ll; #define en
阅读全文
摘要:#题目链接 Problem - C - Codeforces 转换为差分后 操作一:a1-- a(i+1)++ 操作二:ai-- 操作三;a1++ 转换为差分数组后就可以转换问题为是的出了差分数组第一个元素外都变成0 对于差分数组中的负数想变成0,只能通过操作一,注意:此时delta[1]也会变 对
阅读全文
摘要:C. The Very Beautiful Blanket 2023-03-1719:13:29 性质:两个相同的数异或等于0 用类似的性质例如 000000011 100000011 100000010 000000010 构造这样的四个数 c++ #include<bits/stdc++.h>
阅读全文
摘要:#题目链接 Problem - D - Codeforces 由范围是2的p次方(p<2*10^5) 范围太大了 往位运算方面想 a数组集合都在S集合里面,由a数组元素衍生S中元素 x=2y+1 转变成位运算就是左移一位末尾加一 x=4y 转变成位运算就是左移两位 ###思路 找a中每个数的根源——
阅读全文