codeforces
文章平均质量分 63
Cosmic_Tree
什么时候才能像杨大佬一样强啊(´;︵;`)
展开
-
Codeforces Beta Round #68 - B- Train ( 贪心模拟 )
题目链接:点击进入题目题意偷渡者和控制者玩以下游戏。火车由 n 节车厢表示,车厢从头到尾用 1 到 n 的正整数编号。偷渡者和控制者最初在两辆不同的货车中。火车每分钟都可能处于两种状态移动或空闲。控制者每分钟都在移动。控制器有运动方向——火车头或火车尾。在移动期间,控制者对应于其移动方向移动到相邻的货车。如果在他的移动结束时,控制者进入第 1 辆或第 n 辆货车,那么他将移动方向更改为另一侧。换句话说,控制者在整个游戏过程中循环地从火车的头部到尾部然后再返回,在每次移动期间移动一辆车。请注意,原创 2022-01-14 18:12:41 · 623 阅读 · 1 评论 -
Codeforces Round #171 (Div. 2) - E - Beautiful Decomposition( 贪心 )
题目链接:点击进入题目题意给你一串值为 n 的二进制串,一个加数可以是 ( + / - ) 2 ^ k ( k >= 0 ) ,求最少的加数凑成 n ( 没有前导零 )思路若这个串只有一个1,显然只需要一次即可;否则,我们可以用减法来求得这个数,例如:11010 = 100000 + 00010 - 01000反过来就是 11010 - 00010 + 01000 = 100000 ,也就是用最小的加数使原数(x位)变成2^x( 若原数是11…就是变成2 ^ x,若原数是10…就是变成原创 2022-01-14 14:47:13 · 408 阅读 · 0 评论 -
Codeforces Round #764 (Div. 3) - G - MinOr Tree ( 贪心 )
题目连接:点击进入题目题意n 个点 m 条边,求最小或 ( or ) 生成树,即树的所有边或值最小。思路由于是求最后所有边或的值最小,或值即对于生成树的所有边来说,他们的每个对应位只要有一个 1 那么这位最终就是 1 ,要是想结果尽可能小,那么我们当然是希望每个对应位都是 0 才好,如果无法为 0 ,那么这一位越低越好,因此我们可以从高位往低位枚举每一位,如果这一位全 0 的边能够凑成一棵生成树,那么这一位为 1 的边就可以不要,那么最终结果的这一位就可以为 0 。要是凑不成,那么说明需要原创 2022-01-13 16:13:53 · 445 阅读 · 0 评论 -
Educational Codeforces Round 32 - G. Xor-MST ( 01字典树 + 分治 )
题目链接:点击进入题目题意给你 n 个点的值,n 个点加边生成一棵树,边权就是两点的异或值,要求最后所有边权和最小。输出最小边权和。思路将 n 个数插入到01字典树上,对于树上的每个节点,记录这个节点保存有原数组的那些数(就是原数组中有哪些数经过这个节点),因为这些数可能在原数组中是无序的所以不好保存,因此我们可以将原数组排序后再插入字典树,这样每个节点所保存的数就是连续的,也就是每个节点只记录这个连续区间的边界即可。遍历01字典树,对于两个孩子的节点,左右孩子代表的区间是不同的,代表未连接原创 2022-01-12 16:21:07 · 424 阅读 · 0 评论 -
CodeForces - 1562D2 Two Hundred Twenty One (hard version)( 前缀和 + 构造 + 二分 )
题目链接:点击进入题目题意长度为 n 的字符串,’+’ 表示 1 ,‘-’ 表示 -1 。q 次询问区间,每次问最少移除多少个字母以及被移除的位置。可以使区间内电荷为 0 。电荷的计算相当于对区间 [ l , r ] 排序,然后求 a[1]−a[2]+a[3]−a[4]+...+(−1)r−l∗a[r−l+1]=0a [ 1 ] - a [ 2 ] + a [ 3 ] - a [ 4 ] + ...+ ( -1 )^{r-l}* a [ r - l + 1 ] = 0a[1]−a[2]+原创 2021-08-31 19:34:47 · 174 阅读 · 0 评论 -
Codeforces Round #741 (Div. 2) D1. Two Hundred Twenty One (easy version) ( 前缀和 + 构造 )
题目链接:点击进入题目题意长度为 n 的字符串,’+’ 表示 1 ,‘-’ 表示 -1 。q 次询问区间,每次问最少移除多少个字母可以使区间内电荷为 0 。电荷的计算相当于对区间 [ l , r ] 排序,然后求 a[1]−a[2]+a[3]−a[4]+...+(−1)r−l∗a[r−l+1]=0a [ 1 ] - a [ 2 ] + a [ 3 ] - a [ 4 ] + ...+ ( -1 )^{r-l}* a [ r - l + 1 ] = 0a[1]−a[2]+a[3]−a[4]+.原创 2021-08-31 19:34:30 · 179 阅读 · 0 评论 -
Codeforces Round #741 (Div. 2) C - Rings ( 构造 )
题目链接:点击进入题目题意长度为 n 的 01 字符串,找两个不同的子串,t1 = s [ l1 , r1 ] ,t2 = s [ l2 , r2 ] ,满足 t1 二进制转换的数字 = t2 二进制转换的数字 * k ( k >= 0 整数 ),同时两个子串的长度都大于等于 n / 2思路由 k 可以等于 0 ,我们大概可以知道,若存在一个长度 = n / 2 的全 0 连续子串,那么让 t1 等于这个子串,t2 取 s ,就满足条件。若 s 全1,那么存在一个长度 = n / 2原创 2021-08-31 19:34:14 · 186 阅读 · 2 评论 -
CodeForces - 1561E Bottom-Tier Reversals ( 构造 )
题目链接:点击进入题目题意长度为 n 的排列 ( n 为奇数 ) ,每次操作可以选择将长度为 p 的前缀翻转 ( p 为奇数 ) ,问能不能在 5n / 2 次操作内,将序列变为递增的。若能,按顺序输出每次操作的前缀长度,若不能,输出 -1 。思路简单思考一下,翻转操作,不会改变一个数位置的奇偶性。由于序列最后一定是一个1-n的递增序列,那么最终奇数一定在奇数位置,偶数一定在偶数位置。因此,可以通过判断初始序列每个数及其位置的奇偶性是否相同,但凡有一个奇偶性不同,就说明不行,也就是-1。若是原创 2021-08-31 18:14:39 · 172 阅读 · 0 评论 -
CodeForces - 1561D2 Up the Strip ( dp + 前缀和 )
题目链接:点击进入题目题意思路与此题类似,但是 n 变为了4e6,O(nn)O(n\sqrt{n})O(nn) 不可过代码原创 2021-08-31 18:14:28 · 239 阅读 · 0 评论 -
CodeForces - 1561D1 Up the Strip (simplified version) ( dp + 整除分块 + 前缀和 )
题目链接:点击进入题目题意n 个台阶,问从 n 到 1 有多少种方案。若是位于 x ,则有两种操作:1、通过减法到达 [ 1 , x - 1 ]2、通过除法到达 ⌊xz⌋⌊ \frac{x}{z} ⌋⌊zx⌋ ( 下取整 , z 取值 [ 2 , x ] )思路dp [ i ] : 表示从 n 到 i 的方案数。倒序遍历 i :对于减法,记录一个前缀和 sum ,这个前缀和代表着,i 之前的位置 x 通过减法一步到达 i 的总方案数,sum=∑x=i+1ndp[x]sum=\sum_原创 2021-08-31 18:14:14 · 294 阅读 · 0 评论 -
CodeForces - 852G Bathroom terminal ( 字典树 + dfs )
题目链接:点击进入题目题意给 n 个匹配串,m 此询问,每次询问给出一个模式串,问模式串能匹配几个匹配串。? 万能匹配符,也可以当作空白。思路将 n 个匹配串插入到字典树中,对于每次询问去字典树上搜索查找,对于 ?的部分,分别将其当作 ’ a ’ - ’ e ’ 以及 空白 来处理。代码// Problem: Bathroom terminal// Contest: Virtual Judge - CodeForces// URL: https://vjudge.net/proble原创 2021-08-26 00:27:29 · 180 阅读 · 0 评论 -
CodeForces - 432D Prefixes and Suffixes ( kmp + dp )
题目链接:点击进入题目题意对所有,长度为 i 的,且存在一个长度为 i 的后缀与它相等的,这样一个前缀,输出长度以及出现次数。思路next 数组的应用,对于每个位置 i ,通过 next [ i ] ,可以知道长度为 next [ i ] 前缀在中间出现一次,因此可以倒序 dp 计算每个前缀出现的次数,然后通过 l = next [ l ] ( l 初始值 len ),遍历所有存在相等后缀的前缀 。dp [ next [ i ] ] += dp [ i ] ( dp 初始值 1 , 因为前缀原创 2021-08-26 00:27:19 · 264 阅读 · 0 评论 -
CodeForces - 948DPerfect Security ( 01字典树 )
题目链接:点击进入题目题意O [ i ] xor Π( p [ i ] )= a [ i ] , Π( p [ i ] )代表对 p 序列的重新排序后 p [ i ] 的下标,给你 p , a 序列,让你求字典序最小的 O 序列思路O [ i ] xor Π( p [ i ] )= a [ i ] =》O [ i ] = a [ i ] xor Π( p [ i ] )让 O [ i ] 尽可能小,就是让 a [ i ] 异或一个 p 值越小越好,那么就顺序遍历每一位,对于原创 2021-08-26 00:27:08 · 166 阅读 · 0 评论 -
CodeForces - 716B Complete the Word( 暴力 )
题目链接:点击进入题目题意若 s 存在长度为 26 且 26 个大写英文字母都各出现一次的连续子串 t ,就认为是好的。现在给你一个带 ?的 s ,问能不能通过把所有 ?变成大写英文字母让 s 变成好的,不能输出 -1 ,能输出变化后的 s思路暴力判断 s 长度为 26 的连续子串中每个字母是不是只出现一次 ( 不算 ‘ ? ’ ),若是就是该这个子串,剩下的 ‘ ? ’ 随便填。若不存在就 -1。代码// Problem: Complete the Word// Contest: V原创 2021-08-26 00:26:57 · 116 阅读 · 0 评论 -
CodeForces - 182D Common Divisors( kmp + 最大公约数 )
题目链接:点击进入题目题意若串b可以由x个串a连接组成,那么就认为a是b的除数,例如abab的除数为ab与abab求两个字符串公共除数的数量思路看样例大概可以得知,除数实际上就是最小循环节 t 以及最小循环节的倍数 xt ( 长度上要求 len % xt == 0 ),x 转换一下就是,周期 T = len / t 的所有因子数。( 这个结论是保证在串是完全由最小循环节构成的,否则,串的最小循环节就是它自己 )先判断两个串的最小循环节是否相等,不等就不存在相同除数。若是相等,就对两个串的原创 2021-08-26 00:26:47 · 187 阅读 · 0 评论 -
CodeForces - 126B Password( kmp )
题目链接:点击进入题目题意对字符串 s ,找最长的 t ,满足 t 在 s 的前后缀以及中间部分出现过思路通过 next 数组由长到短枚举 s 所有相同的前后缀,然后在中间部分通过 next 数组找是否出现过这个子串代码// Problem: Password// Contest: Virtual Judge - CodeForces// URL: https://vjudge.net/problem/CodeForces-126B// Memory Limit: 262 MB//原创 2021-08-26 00:26:37 · 236 阅读 · 0 评论 -
CodeForces - 1138D Camp Schedule - ( kmp + 构造 )
题目链接:点击进入题目题意给你文本串 s ,模式串 t ,要求给 s 重新排序,使排序后的文本串出现尽可能多的模式串 t 。输出排序后的 s 。( 字符串为 01 串 )思路按照 kmp 匹配的模式来构造,尽可能满足 s [ i ] = t [ j ] ,若是满足不了啦,那就将剩下的位置剩下的数随便匹配。代码// Problem: Oulipo// Contest: Virtual Judge - POJ// URL: https://vjudge.net/problem/POJ-3原创 2021-08-26 00:26:25 · 236 阅读 · 0 评论 -
CodeForces - 625B War of the Corporations( kmp )
题目链接:点击进入题目题意问在文本串中至少修改几个字母可以使模式串不再在文本串中出现。思路与此题类似实际上求的就是模式串在文本串中出现多少次,要求匹配的子串不能有交集,那么只需要在匹配成功后模式串上的指针 j 不在变成 next [ j ] ,而是从 0 开始就行。代码// Problem: Oulipo// Contest: Virtual Judge - POJ// URL: https://vjudge.net/problem/POJ-3461// Memory Limit:原创 2021-08-26 00:26:06 · 267 阅读 · 0 评论 -
CodeForces - 7D Palindrome Degree ( 哈希 )
题目链接:点击进入题目题意字符串是 k 回文的,当且仅当它是回文的,同时它的长为 ( l / 2 ) ( 下取整 ) 的前缀跟后缀都是 k - 1 回文的。( 空字符串是 0 回文的 )字符串的回文等级是最大的 k ,s 是 k 回文。求 s 所有前缀的回文等级和思路遍历每个前缀,判断哈希判断是否是回文,若是回文,回文等级 = 长为 ( l / 2 ) ( 下取整 ) 的前缀回文等级 + 1 ,并将其计入答案。( 若是回文串,对于回文等级的计算,可以维护一个前缀的回文等级的数组,因为当前原创 2021-08-23 23:46:07 · 241 阅读 · 0 评论 -
CodeForces - 985F Isomorphic Strings(哈希)
题目链接:点击进入题目思路代码// Problem: Isomorphic Strings// Contest: Virtual Judge - CodeForces// URL: https://vjudge.net/problem/CodeForces-985F// Memory Limit: 262 MB// Time Limit: 3000 ms// // Powered by CP Editor (https://cpeditor.org)//#pragma GCC opt原创 2021-08-23 23:45:54 · 295 阅读 · 0 评论 -
CodeForces - 706D Vasiliy‘s Multiset( 01字典树)
题目链接:点击进入题目题意q次操作:1:+ x 集合加一个x2:- x 集合删一个x3:? x 查询集合中与 x 异或的最大值( 默认集合初始有 0 !!! )思路异或最大值,01字典树,插入、删除、查询功能。插入时对于每个节点统计使用多少次 cnt [ p ] ,删除操作就是对 x 经过的点 cnt [ p ] --。代码// Problem: Vasiliy's Multiset// Contest: Virtual Judge - CodeForces// URL: h原创 2021-08-23 23:45:41 · 186 阅读 · 0 评论 -
CodeForces - 1201B - Zero Array ( 思维 )
题目链接:点击进入题目题意思路所有数的和若是奇数一定不行,同时,若是最大的数比其它所有的数的和都大那也不行。( 记得 long long )代码// Problem: Zero Array// Contest: Virtual Judge - CodeForces// URL: https://vjudge.net/problem/CodeForces-1201B// Memory Limit: 262 MB// Time Limit: 1000 ms// // Powered b原创 2021-08-20 18:19:03 · 211 阅读 · 0 评论 -
CodeForces - 138C - Mushroom Gnomes - 2 - ( 线段树 + 离散化 )
题目链接:点击进入题目题意现在有 n 棵树, m 个蘑菇,每棵树给出位置 a [ i ] ,高度 h [ i ] ,以及到左边的概率 l [ i ] ,覆盖区间 [ a [ i ] − h [ i ] , a [ i ] - 1 ] 到右边的概率 r [ i ] ,覆盖区间为 [ a [ i ] + 1 , a [ i ] + h [ i ] ] ,每个蘑菇有一定的价值,如果蘑菇被一棵或者多棵树覆盖,则其价值为0,现在问最终对蘑菇价值的总和的期望。思路对于每个蘑菇,考虑不被砸到的原创 2021-08-20 18:20:52 · 216 阅读 · 0 评论 -
CodeForces - 914D - Bash and a Tough Math Puzzle( 线段树 + 思维 )
题目链接:点击进入题目题意n 个数,q 次操作:1 l r x 猜测区间 [ l , r ] gcd 为 x ,若是区间内在最多修改 ( 虚拟修改 )一个值的情况下可以使区间 gcd 变为 x ,就认为这个猜测是正确的,输出 YES ,否则输出 NO;2 i y 将 a [ i ] 改为 y ;思路区间查询 gcd ,单点修改,基本定型线段树第一个操作,问的是最多修改一次的前提下,猜测的gcd对不对。若是区间 gcd 是 x 的倍数,那么一定可以在一次修改内将区间 gcd 变为 x原创 2021-08-20 18:20:38 · 257 阅读 · 0 评论 -
CodeForces - 1196D2 - RGB Substring (hard version) ( 思维 + 前缀和 )
题目链接:点击进入题目题意思路先来暴力想一下,长度为k的串且是无限长串的子串,只有三种 ( 分别以 R 、G 、B 开头的三种 ),暴力求解就是以 s 的每个位置为子串起点,暴力匹配三种子串,时间复杂度 3 * n * k 。这肯定是不行的,中间匹配 k 的过程太大,需要优化。那我们来想一下,对于一种子串 ( 假设以 R 开头 ) 将它延长到 | s | ,然后将它与 s 匹配,记录两者不相同的位置。对于前 k 个,前缀和求出来的就是至少需要修改的数量,但是大于 k 的位置了咋办。若是大于原创 2021-08-20 18:20:27 · 157 阅读 · 0 评论 -
CodeForces - 1201C - Maximum Median( 思维 )
题目链接:点击进入题目题意思路先排序,找出中位数,我们要是想在有限次操作内使中位数尽可能的大,肯定要操作中位数及其后面的数。我们固定初始排序后的中位数一直就是中位数,那么想要让它尽可能的大,同时它一直是中位数,那么其实就是一个填平后面的阶梯的过程。对于中位数以及它后面与它相等的数形成的序列 ( 例如 i ~ j ,i 是中位数的位置 ),我们先从后往前填 ( 即 j ~ i 的填 ),直到这个序列整体跟下一个数相等了,就将下一个数并进序列继续上述过程,直到到达n位置,若此时还有操作数,那就看原创 2021-08-20 18:19:39 · 269 阅读 · 0 评论 -
CodeForces - 1560F2 Nearest Beautiful Number (hard version) ( 二分 + 数位dp )
题目链接:点击进入题目题意就是求 >= n 的数中,最小的,满足 k 美丽数的数。k 美丽数,是指数中不同的数字的数量 <= k思路一开始没想到数位,寄!数位dp的一次solve计算的结果通常以类似前缀和的结果返回 ( 就是返回 [ 1 , r ] 内满足条件的数的个数 )二分答案,考虑 solve ( mid ) - solve ( n - 1 ) 的值,这个值具有单调性(结合上面的结论,大概就知道,mid 越大,solve ( mid ) - solve ( n - 1原创 2021-08-19 11:01:34 · 258 阅读 · 0 评论 -
CodeForces - 1557C - Moamen and XOR ( 位运算 + 排列组合 )
题目链接:点击进入题目题意规定长度为 n 的数组要是满足 a1a_1a1&a2a_2a2&…ana_nan >= a1⊕a2⊕a_1 \oplus a_2 \oplusa1⊕a2⊕…⊕an\oplus a_n⊕an 则认为是胜利。在每个数组元素小于 2k2^k2k 的前提下,问有多少种数组 a 满足胜利的条件。思路看到这个 2k2^k2k ,当时就想到多半按位来看。若是固定每一位,然后看 n 个数这一位的与运算 与 n 个数这一位的异或运算。异或运算有个规律,原创 2021-08-10 09:25:24 · 379 阅读 · 0 评论 -
CodeForces - 1526C2 - Potions (Hard Version) ( 优先队列 + 贪心 )
题目链接:点击进入题目题意n 个瓶子,每个瓶子都有价值( 有正有负,正的加血,负的减血 ),初始生命值 0 ,问在保证过程中血量不小于 0 的情况下,最多可以选择多少个瓶子( 每个瓶子可以选择也可以不选择 )思路对于价值为正的瓶子,我们肯定选择,若瓶子的价值为负:若我们喝下去生命值不会变为负数,我们选择喝下去。若我们喝下去生命值会变为负数,那么我们将此时的这瓶水,与之前喝过的、价值为负数的 且 价值最低的瓶子做比较,若此时的价值更低,那么我们不选择这个瓶子;若此时价值更高,那么我们选择原创 2021-08-07 21:26:49 · 292 阅读 · 0 评论 -
CodeForces - 1523B - Lord of the Values ( 思维 )
题目链接:点击进入题目题意长度思路代码// #pragma GCC optimize("Ofast","inline","-ffast-math")// #pragma GCC target("avx,sse2,sse3,sse4,mmx")//#pragma GCC optimize(3)//O3//#pragma GCC optimize(2)//O2//#include<bits/stdc++.h>#include<iostream>#includ原创 2021-08-07 21:26:11 · 172 阅读 · 0 评论 -
CodeForces - 459E - Pashmak and Graph ( dp )
题目链接:点击进入题目题意带权有向图,求最长路径,满足所经过的边权值严格递增,输出最长长度。思路要求按权值严格递增,那么我们可以对边按权值排序,对于边权相等的系列边,若此边起点 u 终点 v ,则 dp更新以 v 为最终路径终点的最大递增长度,由上一不同权值更新后的状态 u 更新而来。dp [ v ] = max ( dp [ v ] , f [ u ] + 1 ) ;代码// Problem: Pashmak and Graph// Contest: Virtual Judge -原创 2021-08-05 21:10:08 · 144 阅读 · 0 评论 -
CodeForces - 1541C - Great Graphs ( 贪心 + 前缀和 )
题目链接:点击进入题目题意n 个点的有向图,边权可正可负,给你一个 d 数组,d [ i ] 表示从 1 到 i 的最短距离。让你求整个图最小的总边权和。思路看看样例,我们大约可以想到,相邻两个点的贡献为 0 ,只有间隔点才会产生贡献。我们对 d 数组排序,我们观察产生贡献都是哪些,d [ 3 ] - d [ 1 ], d [ 4 ] - d [ 1 ] ,d [ 4 ] - d [ 2 ] ,…,总结一下,就是对于每个 i ( i >= 3 ) ,对答案的贡献就是 ( i -原创 2021-08-05 21:09:56 · 248 阅读 · 0 评论 -
CodeForces - 1541B - Pleasant Pairs( 质因子分解 )
题目链接:点击进入题目题意长度为 n 的数组 a ,求满足 i < j && a [ i ] * a [ j ] == i + j 的( i , j )对数。思路枚举 sum = i + j ,对于每个 sum 质因子分解,对于每个因子 q , 判断 q 以及 sum / q 是否存在 ,同时判断两者对应的坐标相加是否等于 sum 。代码// Problem: B. Pleasant Pairs// Contest: Codeforces - Codeforces原创 2021-08-05 21:09:36 · 382 阅读 · 0 评论 -
CodeForces - 1324F Maximum White Subtree ( 树形dp )
题目链接:点击进入题目题意一棵树,树中每个点是白色或者黑色,问对于每个点,在包含该点的连通块中白色点数量 - 黑色点数量 最大是多少思路dp [ i ] 为节点 i 所能获得的最大贡献,贡献分两部分,一部分由子树部分提供,另一部分由父节点部分提供。对于子树部分,一次dfs,求每个节点子树部分的贡献dp [ u ] += max ( 0 , dp [ v ] ) ;对于父节点部分,一次dfs,求父节点方向的贡献 ( 求父节点方向的贡献,因为是连通块,所以就相当于求 父节点子树的贡献 除原创 2021-08-04 10:25:44 · 184 阅读 · 0 评论 -
CodeForces - 1549C - Web of Lies( 思维 )
题目链接:点击进入题目题意n个人m对朋友关系( 双向 ),q次操作:1 u v u与v成为朋友2 u v u与v朋友关系破灭3 计算以下过程的答案:过程:所有易受伤害的贵族同时被杀害,他们的友谊也随之结束。这样,新贵族就有可能变得脆弱。这个过程不断重复,直到没有贵族受到伤害。可以证明,这个过程将在有限的时间内结束。完成此过程后,您需要计算剩余贵族的数量。( 如果满足以下两个条件,则贵族被定义为易受攻击:至少有一个朋友,那位贵族的所有朋友都有更高的权力。)注意,该过程的结果不会在查询原创 2021-08-02 22:05:59 · 484 阅读 · 1 评论 -
CodeForces - 1549D - Integers Have Friends ( 差分 - 线段树 - 双指针 )
题目链接:点击进入题目题意定义一个友好区间为,存在一个 m ( m >= 2 ),使区间内的所有数 % m 值相等,让你求给定数组的最大友好区间长度。思路如果两个数 x , y , 取模后的值相同,则需要满足:| x - y | % mod == 0。若是一个区间内 % mod 值相等,则是所有差值的 gcd。所以根据这一特性,我们不难想到对原数组差分,然后区间求 gcd( 区间求 gcd 可以用线段树来实现 ),然后我们再用双指针维护一个 右端点 指定 的情况下 左端点最远 且原创 2021-08-02 09:33:31 · 308 阅读 · 0 评论 -
CodeForces 1555A - PizzaForces ( 思维 )
题目链接:待放。。题目题意6 片的披萨 15 分钟,8 片的披萨 20 分钟,10 片的披萨 25 分钟, n 个人,一个人至少一片披萨,问最少需要多少分钟才能满足所有人都至少一片披萨思路对于小于 6 的按 6 来算。对于大于等于 6 的,可以先看 n % 6 的值,若等于 0 ,则时间 n / 6 * 15;若小于等于 2 ,则取出一个 6 凑成 8 ,这样最优,时间 ( n / 6 - 1 ) * 15 + 20 ;若小于等于 4 ,则取出一个 6 凑成 10 ,这样最优,时间 (原创 2021-07-31 00:53:24 · 304 阅读 · 0 评论 -
CodeForces - 735D - Taxes ( 哥德巴赫猜想 )
题目链接:点击进入题目题意x 的税款 = x 的最大因子( 除去 x 本身 )。对于 n ,你可以将它分成 k 份 ( k >= 1 ),问最后最小的税款和。思路强哥德巴赫猜想(关于偶数的哥德巴赫猜想):任一大于 2 的偶数 都可写成 两个素数 之和弱哥德巴赫猜想(关于奇数的哥德巴赫猜想):任何一个大于 7 的奇数都能被表示成三个奇质数的和如果 n 是素数,答案就是 1 。如果 n 不是素数:如果 n 是偶数,大于 2 的偶数都可以写成两个素数的和,所以答案是 2 ;如果 n原创 2021-07-30 17:03:08 · 218 阅读 · 0 评论 -
CodeForces - 1554C - Mikasa( 思维 )
题目链接:点击进入题目题意MEX求序列中未出现的最小非负数。给 n , m , 对于序列 { n ⊕\oplus⊕ 0,n ⊕\oplus⊕ 1,,,n ⊕\oplus⊕ m },求MEX。思路在序列中任取一个 k ,已知 n ⊕\oplus⊕ i = k,即 n ⊕\oplus⊕ k = i ,因为 i∈[1,m]i\in[1,m]i∈[1,m],即 n ⊕\oplus⊕ k ∈[1,m]\in[1,m]∈[1,m],所以题目也就转换成了,求最小的 k 满足 n ⊕\oplus⊕ k &g原创 2021-07-30 17:02:58 · 315 阅读 · 4 评论 -
CodeForces - 1554D - Diane ( 思维 + 构造 )
题目链接:点击进入题目题意构造长度为n的字符串,要求只包含小写英文字母,同时 相同子串的个数 都是奇数思路例子:对于长度为 5 的全a字符串“aaaaa”,"a"的数量奇数、“aa”的数量偶数、“aaa”的数量奇数、“aaaa”的数量偶数、“aaaaa”的数量奇数。对于长度为 4 的全a字符串“aaaa”,“a"的数量偶数、“aa”的数量奇数、“aaa”的数量偶数、“aaaa”的数量奇数。已知:奇数 + 偶数 = 奇数。根据这一特点,我们可以将这两个合并一下,同时中间用 “b” 隔开,就原创 2021-07-30 17:02:48 · 217 阅读 · 0 评论