随笔分类 - 题解
摘要:CF1178B题解 思路:前缀和+后缀和+乘法原理 首先建立两个数组:a,b,a 用来记录第 i 个字符前面有几个“vv”, b 用来记录第 i 个字符后面有几个“vv”。 那就很明了,用两个循环解决!如果第 i 个字符是 v,第 i−1(i+1)个也是,那前
阅读全文
摘要:CF1023B题解 题意 题目的意思浅显易懂:就是有 n 个物品,第 i 件物品价值为 i,问只取其中两个物品,价值能打到 k 的方案数有几个。 思路 首先先看数据范围,1≤n,k≤1014,本蒟蒻的暴力梦破裂了,只好用用小学学的数学。 我们知道:若 $x+y=
阅读全文
摘要:P1680题解 思路 一看这题,不就是组合题吗?再往下看,涉及到分组,一下子就想到了隔板法,只不过要想隔板还需要一点小处理:因为第 i 必须大于 Ci,于是想到将 n 减去每组的 Ci,于是奇怪的分组就转化为基础的组合题:n 个相同的球放入 m 个不同盒子里,不能
阅读全文
摘要:CF417B题解 博客里使用更佳。 思路 简单的模拟,稍微的分析加上分类讨论就 AC 啦~ 做法 首先,我们要用一个数组 a 来记录记录编号等于它下标的人发送了几个方案,然后就开始开心的模拟:每行输入一个 x(在与 A 相同的第一个程序之前发送的不同程序的数量),k(参赛者的编号,即
阅读全文
摘要:P1409 题解 博客里食用更佳。 题意 题目的意思浅显易懂: n 个人站成一排,小明(临时演员)是第 m 个人,每轮上帝会投一次筛子,分为以下情况: 若掷到 1,则队首的人获胜; 若掷到 2,4,6,则队首的人出队; 若掷到 3,5,则队首的人排到队尾。 问:小明有
阅读全文
摘要:CF449A题解 思路 切法分为这几种情况: 输出 −1 的情况:首先,先分析最多能且几刀,横着切最多可以切 n−1 刀,竖着切最多可以切 m−1 刀,所以 k⩽n+m−2。也就是说当 k>n+m−2 时,直接输出 −1。 当 k<m 且 k<n
阅读全文
摘要:CF45J 题解 原题链接:Planting Trees 题目分析: 当 n=m=1 时,直接输出 1。 当 (n+m)>5 时,就将大数和小数交叉放即可。 当 (n+m)<5 时,是肯定是不行的,输出 −1。 这时就会有人问第二种情况的大小数分别是什么? 大数:$(n+m)/2
阅读全文
摘要:原题链接:Math Show 话归原题,接下来就是快乐的解题时间啦~ (博客里食用更佳) 首先,我们可以发现 n 和 k 的数据范围都非常小,其次,每个子任务分值相同,设 dp[i] 为做了 i 个完整的任务(其余做的是单独子任务)的最多分数将 t 数组排序后暴力求解 也不多说了
阅读全文
摘要:这题就是一题简单的博弈论,如果有一张牌的数量为奇数,则 Conan 赢, 否则 Agasa 赢。 还记得小学时令人害怕的必胜策略吧~ 因为如果所有的牌的数量都有偶数个,则先手拿什么牌,后手就那什么牌,后手就赢了,否则先手胜 思路: 用一个桶排序来统计每一张牌出现的次数,再用 minn 和 $ma
阅读全文
摘要:题意 如果一个字符串同时满足: 1、三个或以上个连着的辅音字母 2、这一段连着的辅音字母不是全部一样的 则这个字符串非法 整个程序都用一个循环来模拟,要满足要求要求可以用一个 num 来统计连续辅音字母的数量,大于等于 3 且 3 个辅音字母不一样,输出空格。 另外,我们可以加一个辅音元
阅读全文
摘要:CF1392C题解 分析 根据题意可得:设任意一个一个正整数 i(n≥i)要是 a[i]<a[i−1] 则这两个数至少需要操作 a[i−1]−a[i] 次。 换一句话说,每组数据的答案为所有前一个数大于后一个数的前一个数减后一个数。(就是上面的字母表示) 话不多说,上代码!!
阅读全文