给你n个数,你可以这样操作:使区间[l,r]的数变成 他们的平均数,求字典序最小的序列。 做法:从左往右逐个比较,比较完之后会形成一个区间,一开始是区间为1的数进行比较,到后来会 变成区间较大的进行比较; 举个例子:7 6 5 4 3 2 3 显而易见,递减序列肯定是要求平均值的,但是求出来之后,会
转载 2020-02-11 12:54:00
71阅读
2评论
补题:Div2 #578 E. Compress Words 从第一个单词开始,如果前一个单词的后缀和后一个单词的前缀相同,那么把他们合并,求最后合并后的串 每新读入一个新字符串就将其和已有的字符串合并,不是合并i和i-1 想法就是对想合并的两个串求哈希值,然后枚举能合并的前缀后缀的长度 单模数ha ...
转载 2021-07-15 17:22:00
45阅读
2评论
LINK首先要理解题意,我这个憨憨就因为漏掉条件一直在想假题题意一个n∗mn*mn∗m的方格,方格是XXX或...现在你可以把任意个...变成XXX,满足任意两个XXX有且仅有一条路径(只往上下左右走XXX)求一种构造方案。注意,初始状态下任何一个XXX的九宫格内不会有其他XXX直接把2,5,8,11.....2,5,8,11.....2,5,8,11.....列全部变成XXX那么现在1,2,31,2,31,2,3列是连通的,4,5,64,5,64,5,6列是连通的…以此类推考虑把3,4
原创 2021-08-26 15:24:32
63阅读
LINK首先要理解题意,我这个憨憨就因为漏掉条件一直在想假题题意一个n∗mn*mn∗m的方格,方格是XXX或...现在你可以把任意个...变成XXX,满足任意两个XXX有且仅有一条路径(只往上下左右走XXX)求一种构造方案。注意,初始状态下任何一个XXX
原创 2022-02-08 11:30:02
58阅读
直接使用指针,交换时交换矩阵周围的指针即可。
转载 2016-08-15 19:48:00
83阅读
2评论
两题都不难。对于D题,可以使用相对移动,把吹aircraft移动变成相反方向的待援点的移动。假设此时时间为t,把aircraft的速度设为Vmax,看待援点在飞船最大速度飞行t秒的范围内,注意风向变化的时间点即可。其实很明显的二分。。 1 #include 2 #include 3 #inclu...
转载 2015-10-30 21:52:00
66阅读
2评论
这题很简单,把目标位置排序,把目标位置在当前位置前面的往前交换,每次都是贪心选择第一个满足这样要求的数字。#include #include #include #include #include using namespace std;const int MAX=2005;int p1[MAX],p...
转载 2015-10-16 20:35:00
82阅读
2评论
点击打开链接http://codeforces.com/contest/6/problem/EE. ExpositionThere are several dayson the
比赛链接:Here 1556A. A Variety of Operations 注意到2, 3操作不改变总和,1操作使得总和加上了一个偶数,故直接判断总和是否为偶数即可。如果和为偶数,只要判断c和d是否相等即可。注意0要判一下 【AC Code】 const int N = 1e5 + 7; in ...
转载 2021-09-01 16:12:00
70阅读
2评论
【A题目链接】点击打开链接【题意】给了一个数n,和2*n-2个字符组成的字符串,其中奇数位置的字符是小写,偶数为大写。如果小写字符和大写字符是匹配的,那么就可以成功开门,问你要从1走到n,至少需要带多少把钥匙才能顺利开门。【解题思路】贪心即可。把走到当前位置没用到的钥匙用一个数组hash下来然后判断一下即可。【AC代码】#include using namespace std;
原创 2022-04-20 10:20:42
70阅读
source C - Bakry and Partitioning(贪心) 假设所有点的异或和为$x$,然后被拆成了$m$个联通块,由于各个联通块的异或值都相同,有 \[ x_1 \oplus x_2 \oplus ... \oplus x_m = x \] 可得每个联通块的值必须都相等。所以如果$ ...
转载 2021-10-06 22:36:00
99阅读
2评论
这是一道二进制思维题; 将所有数字列成二进制形式,然后找出最大的一位“1”出现一次的位数; 然后把这个数提到前面,其他照常输出即可 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn=1e5+10; 4 int a[ma
转载 2020-02-10 10:13:00
42阅读
2评论
https://codeforces.com/contest/1296/problem/C 题意:给一个只包含RLDU(向上下左右走)字符的字符串,问哪一段连续字符,最终位置保持不变,要求去除的字符最短; 1 #include<bits/stdc++.h> 2 using namespace std
转载 2020-02-09 21:04:00
95阅读
2评论
LINK: "Divisor Paths" 考试的时候已经想到结论了 可是质因数分解想法错了 导致自闭。 一张图 一共有D个节点 每个节点x会向y连边 当且仅当y|x,x/y是一个质数。 设f(d)表示d的约数个数 那么x y的无向边的边权为f(x) f(y); 每次询问两个点x,y之间的最短路径的
转载 2020-04-12 15:08:00
120阅读
E. Company 给定一颗有nnn个节点的树,有mmm次询问,每次询问给定[l,r][l, r][l,r],我们可以选择删除其中的一个点ppp,然后找到一个深度最深的rtrtrt,使得剩下的点都在rtrtrt的子树上。 考虑对编号为[l,r][l, r][l,r]中的点,按照dfsdfsdfs序排序,容易想到,我们要么删除最前面的元素,要么删除最后面的元素, 我们考虑枚举这两种情况,然后只要在剩下的点中随意挑选一个点,令其不断向上跳,知道找到一个点rtrtrt,剩下的点都在rtrtrt的子树上,这里可以
原创 2021-08-27 10:06:43
218阅读
然后要刚好的,电脑的power和sockets的值相同才行。 如果不同,还有一个操作,就是在sockets中插东西,使得sockets的值变成val / 2 + (val &
原创 2022-10-20 11:15:31
57阅读
E. Pillarstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputMarmot found a row with n pillars. The i-th pillar has th
原创 2023-04-24 09:06:59
95阅读
E 一道简约清新的构造题,感觉这种构造题真的很难得。 回顾题意:给定一个括号串,每次可以
转载 1月前
365阅读
Codeforces Round #798 (Div. 2) E. ANDfinity
原创 2023-05-31 09:40:36
66阅读
思路很明显了,假设是点x,则看它的子树中是否有大于n/2的,如果有,则在该子树中剪去它可以剪的且小于n/2的,接到点x上。 则统计出在以x点为根的子树中,它的各子树可以剪去的且小于n/2的最大子子树。对于除去以x为根的子树的其他部分,记为up,则同样地统计它的可以剪除的符合条件的子树,最后对每个点判
转载 2016-09-04 10:11:00
42阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5