随笔分类 - 贪心
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 统计叶子节点个数m 把每条和叶子节点相邻的边权设置成s/cnt就可以了 这样答案就是2 s/m(直径最后肯定是从一个叶子节点开始,到另外一个叶子节点结束) 证明: 设dis(i,j)表示节点i和节点j之间的权值和 设a[1],a[2]..
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 如果找到最大的n使得1+2+...+n 【代码】 cpp include define ll long long using namespace std; const int N = 1e5; ll a,b; ll n; int tag[
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 如果这个回文串的左半部分,字母全是一样的。 那么显然不可能再分出来了,因为不管怎么分怎么排列,最后肯定都只能和原串一样。 所以无解 其他情况下,都有解。 可以保证答案是 【代码】 cpp include using namespace s
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 其实就是让你最后这n个数字的和最大。 加上的x没有关系。因为肯定都是加上n个x 所以直接加上就可以了 主要在于如何选取j 显然我们要找到一个位置j. 然后pre[j]+aft[j]的值最大(pre[j]=1+2+3+...+j 1,aft
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 先求出来强连通分量。 每个联通分量里面,显然在联通块的尽头(没有出度)放一个捕鼠夹就ok了 【代码】 cpp include using namespace std; define lson l,m,rt= b;i ) define mp
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 计算出来每个字母出现的次数。 把字典序大的奇数出现次数的字母换成字典序小的奇数出现次数的字母贪心即可。 注意只有一个字母的情况 然后贪心地把字典序小的字母放在前面就好 【代码】 java include define rep1(i,a,b
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 四个大角 然后每个大角里面包着一些其他颜色的就好 【代码】 java include using namespace std; const int N = 50; const long long M = 15e6; int a,b,c,d
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 每次都选择剩余个数最多的3个不同数字组成一组. 优先消耗剩余个数多的数字 这样能尽量让剩余的数字总数比较多,从而更加可能得到更多的3个组合 【代码】 java include using namespace std; const int
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 考虑怎么得到数字x2=N,假设是质数p的倍数 那么x1肯定在x2 p+1~x2这个范围内才行 因为p的倍数要刚好大于等于x1, 所以x1肯定是在这两个倍数之间才行 结果已经很显然了 肯定让p的值越大越好。 这样得到的x1才可能越小。 枚举
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 从小到大枚举天数. 然后贪心地,从大到小分配a[i]到各个天当中。 a[n]分配到第1天,a[n 1]分配到第2天,...然后a[n x]又分到第一天。 这样能保证优先让大的数字能够无损失地加进去。 从而尽可能快的凑够m天 【代码】 ja
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 相当于让你确定每个数字前面的系数是 1还是+1 有个结论是这样每次和相邻的减的话, 任何出除了全" 1"和全"+1"之外的其他系数组合都能得到。 分初始的时候每个数字的正负贪心地取一下就好 【代码】 java include using
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 设cnt表示s1和s2不同的字符的个数 如果cnt 2 t 因为这cnt个位置肯定至少有一边不同 显然肯定会有一个f(s,S)的值大于t的 如果t 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 题意 【题解】 因为原序列没有任何长度超过2的回文串。 所以,我们在改变的时候,只要时刻保证改变位置s[i]和s[i 1]以及s[i 2]都不相同就好。 因为只改变一个位置的话是不会产生长度超过3的回文串的 我们按照从后到前,从小到大的顺序,尝试增加第i
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你把一个包含数字1,6,8,9的数字重新组合,使得组合成的数字能被7整除 【题解】 我们先提取出来1,6,8,9各1个 然后把剩余的len 4个数字除了0之外放在前面 那么这len 4个除了0之外的数字组成的十进制数字对7的取余结果肯定是0~6之间。
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你把" "用至少一个右括号代替 使得整个括号序列合法 【题解】 首先我们不要考虑井号 考虑最简单的括号序列 并且把左括号看成1,右括号看成是 1 然后用a[]表示它的一个前缀和(a[0]=0) 这样 这个括号序列合法的充要条件就是 ①a[i] =0 (
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 笔和笔盖 笔有颜色和直径 笔盖也有颜色和直径 笔盖和笔如果直径相等 那么称为good 如果笔盖和笔直径相等、颜色也相等,那么称为very good 问你怎样安排笔和笔盖才能让good最多的情况下very good也最多. 【题解】 将直径相同的笔和笔盖放
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个数组A[]经过a[i][j] = gcd(A[i],A[j])的规则生成的二维数组 让你求出原数组A 【题解】 我们假设原数组是A 然后让A数组满足A[i] 【代码】 cpp import java.io. ; import java.util.
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 【题解】 会发现两个皇后之间如果只有奇数个位置 也就是n%2==1 那么第二个人总是赢的 因为如果white往下跑的话,black也能往下跑。 第二个人没有输的机会。 其他情况就是第一个人赢了... 【代码】
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 如果a[i] 2 【题解】 假设最后的方案是(ai,bi) 这里(ai,bi)表示下标为ai的袋鼠可以装进下标为bi的袋鼠里面 (这里袋鼠已经按照大小从小到大排序了) 则我们会发现,如果有(a1,b1),(a2,b2)...(ak,bk)这些方案的话(且
阅读全文
摘要:【链接】 "我是链接,点我呀:)" 【题意】 每个人都有自己喜欢的队员 但是如果贿赂他们可以让他们更改自己喜欢的队员 问你最少要花多少钱贿赂队员才能让1号队员严格有最多的人喜欢? 【题解】 除了1号之外,其他队员最后喜欢的人数不太好确定。 我们可以这样,用up枚举其他人最后喜欢的人数的上限(即除了1
阅读全文

浙公网安备 33010602011771号