CF546B Soldier and Badges 题意翻译 给 n 个数,每次操作可以将一个数 +1,要使这 n 个数都不相同, 求最少要加多少? \(1 \le n \le 3000\) 感谢@凉凉 提供的翻译 题目描述 Colonel has \(n\) badges. He wants to give one badge to every of his \(n\) soldiers. Each badge has a coolness factor, which shows how mu…
题意 (Codeforces 546B) 问对一个序列最少需要增减几个1能使其彼此不同. 分析 模拟处理.需要注意的是,尽管题目中说了an<=3000,问题是,如果一群a全是3000呢(滑稽),所以数组要开到6k. 可以说非常阴险了. 代码 #include <bits/stdc++.h> #define MP make_pair #define PB push_back #define fi first #define se second #define ZERO(x) memset(…
「CTS2019 | CTSC2019」氪金手游 降 智 好 题 ... 考场上签到失败了,没想容斥就只打了20分暴力... 考虑一个事情,你抽中一个度为0的点,相当于把这个点删掉了(当然你也只能抽中度为0的点) 删掉就是字面意思,就是剩下的树变成子问题 考虑为什么,在抽中这个\(i\)号点后,抽中其他点的概率为 \[ \frac{W-w_i}{W}\sum_{i=0}^{\infty}(\frac{w_i}{W})^i=1 \] 说明这个点已经白给了 然后考虑这个树如果是一颗外向树,就是每个点…
time limit per test3 seconds memory limit per test256 megabytes inputstandard input outputstandard output Colonel has n badges. He wants to give one badge to every of his n soldiers. Each badge has a coolness factor, which shows how much it's owner r…
题面 一个二叉树,边数为n\((2<n\le 100)\),每条边有一个权值,求剪枝后剩下p\((1<p<n)\)条边,使p条边的权值和最大 还看不懂?-- 2 5 input:5 2 output:21 \ / 1 3 1 3 4 1 4 10 \ / 2 3 20 1 3 5 20 能理解了吧! 思路: 树形打屁DP 很基础的一道树形DP 对于每个点,用f[k][i]记录在以k为根的子树中,取i条枝的最大值 注意: 1.要注意叶子节点的判断 2.有可能只取一侧的子树 Code: #i…
题面 好难表述啊~ 在n*m的矩阵上,有一些大兵(为0),一些空地(一个正整数),障碍物(-1),现在摧毁一些空地,使所有大兵不能走出矩阵去(代价为表示空地的整数),求最小代价 思路: 网络流最小割 "阻止","最小",看到这样的字眼,肯定就要想到最小割啊 在互相能到达的点之间建边,容量为INF,因为--它不能炸-- 然后把每个点拆成入点和出点,每个兵所在的出点和源点S直接相连,在最外面的点的出点和汇点T直接相连 最后套模板,OK了 最重要的还是建边,能够理解题目的…
题面 这是一道诡异的黄题 居然让你求一串吧啦吧啦的东西中 字母(大小写)最长的回文串的长度,还要输出完整的串 吐血 思路: 保持淡定,我们啥都不会,就会Manacher,那就用Manacher大法! 1.把字符串处理成只有字母(去皮) 2.把字符串中插入#号(掺假) 3.Manacher跑一跑最长回文串长度(市场检查) 4.求出最长长度后再重新代入原来的字符串(打回原形!妖孽!) 然后,就完了~ 就是去皮的时候,顺便记录一下字符的位置,这样重新代入时就比较方便 并且由于字符串有很多行,读入时就要…
题面 求环中的长度为k(k为奇数)且回文中心不同的回文串个数 思路: 刚学manacher算法,就送上一道模板题,此题注重对manacher算法的理解 Manacher,但是不用插入其他符号,因为k是奇数,中心一定在字符上 不知道Manacher? 洛谷日报上有讲,但是比较难懂,建议上B站更深入了解下\(\to\) 可以先把代码抄下来,然后一边看讲解一边理解代码含义,这样更能理解 反正我第一遍已经看蒙了 补充和纠正: 关于前几篇题解,一些小细节纠正一下 文末的代码更加简洁易懂 1.这是一个环,要…
题面 主要大衣大意: 给定一个字符串,求至少加入多少个字符才能使字符串变成回文字符串 下面就是我一本正经的胡说八道题解 思路: 很显然,这应该是一道典型的最长公共子序列的题目 因此,主要思想就是DP 方程式也挺好推的 于是我们就来讲一下为什么这题能用最长公共子序列(LCS)求解 证明: 求的是什么? 想要使这个字符串加入最少的字符变成一个回文串,那么肯定就是要是字符串中不能回文的部分回文 说起来比较难理解,比如:Ab3bd最少添的字符就是A对应的一个A,最后d对应的一个d 我们可以发现,最少要添…
P4714 「数学」约数个数和 题意(假):每个数向自己的约数连边,给出\(n,k(\le 10^{18})\),询问\(n\)的约数形成的图中以\(n\)为起点长为\(k\)的链有多少条(注意每个点都有自环) 这样想是做不出来题的. 正常的题意是:询问\(n\)的约数的约数的....(共\(k\)次复读后)约数个数和. 考虑\(f_k(n)\)表示答案. 显然有\(f_{k}(n)=\sum_{d|n}f_{k-1}(d)\) 注意到用数论卷积的形式可以表示为 \[ \mathtt f_k=\…