随笔分类 -  atcoder

摘要:题意 给你一个无向图 不会有重边和自环 然后要求你把所有点分成两个集合,每个集合的点必须是个完全图, 如果满足不了上述条件 输出-1; 题解:考虑建原图的补图; 即,若两点之间没有边,则连边; 若这个图不是二分图,那么无解,感性理解一下就行了 注意你虽然是二分图,但是不一定是全联通,可能是很多个连通 阅读全文
posted @ 2020-09-09 22:23 摸鱼选手LLF 阅读(112) 评论(0) 推荐(0)
摘要:链接https://atcoder.jp/contests/arc097/tasks/arc097_b 题意 给你一个排列 然后给你M个pair,这两个pair位置的值可以互换, 然后问你最多能换成多少个位置的pi=i; 题解: 手玩了一下,发现你连起来的pair,可以互换成全排列, 然后这就是个并 阅读全文
posted @ 2020-09-09 21:55 摸鱼选手LLF 阅读(191) 评论(0) 推荐(0)
摘要:题意:一个数组 每次选K个连续的数,然后删掉其中最小的数 然后你可以进行Q次操作 要求删去的最大数和最小数的差值最小 求这个差值 题解: 枚举最小数x,依次把每个数作为最小的数, 然后统计答案,发现小于x的数会把整个数组分成各个区间,然后取这些区间里的最小数, 然后用这些最小数里最大的,更新答案就可 阅读全文
posted @ 2020-09-09 21:40 摸鱼选手LLF 阅读(224) 评论(0) 推荐(0)
摘要:题意: 给一个长度为N的数组 然后求满足 他们的异或和 加和相等的区间 题解: 我们发现,一旦两个数字有一位都是1,他们会变成0,所以这时候肯定就少了值,换句话说,两个数异或的最大值,是两个数的加和 所以枚举每个位置,然后向前异或,因为,所以每次最多20次向前 复杂度20*n,也就是log(ai)* 阅读全文
posted @ 2020-09-09 21:34 摸鱼选手LLF 阅读(146) 评论(0) 推荐(0)
摘要:链接https://atcoder.jp/contests/arc099/tasks/arc099_a 题意 一个长度为N 的排列 每次选K个连续的数,然后所有的数都会变成这K个里的最小值,求最小操作次数 题解:水题 显然最后全变成1 从左到右覆盖过去就行了,注意下边界问题就行了 代码 #inclu 阅读全文
posted @ 2020-09-09 21:27 摸鱼选手LLF 阅读(209) 评论(0) 推荐(0)
摘要:链接:https://atcoder.jp/contests/arc097/tasks/arc097_a 题意: 给一个字符串 求出第K小的字串 后缀自动机,但这是第一题 发现长度比较小,然后我把每个前缀都push进trie树里,mle。。。 然后看了看题解 发现我们只要把长度小于=5的子串拉出来排 阅读全文
posted @ 2020-09-09 21:23 摸鱼选手LLF 阅读(146) 评论(0) 推荐(0)
摘要:链接:https://atcoder.jp/contests/arc100/tasks/arc100_b 题意 :给一个数组 分成四块 要求最大的加合与最小的加合相差最小 枚举中间的一刀 然后左边的一刀尽量满足差值最小 右边的也是,因为这样才能满足全局最小 , 然后取枚举中间一刀的所有答案 然后发现 阅读全文
posted @ 2020-09-09 21:17 摸鱼选手LLF 阅读(159) 评论(0) 推荐(0)
摘要:题意 给你一堆x轴上的点 然后让你在x轴找一个点,使所有点到他的距离总和最小 考虑之前那个所有点都是x,y表示的题 那个题显然是个二次函数 这个题也是求距离,就套三分算一算, #include<bits/stdc++.h> #define pb push_back #define fi first 阅读全文
posted @ 2020-09-09 20:31 摸鱼选手LLF 阅读(193) 评论(0) 推荐(0)
摘要:链接:https://atcoder.jp/contests/arc101/tasks/arc101_b 题意: 先给出中位数定义 若为奇数 就是中位数 若为偶数,则为两个中间的数中较大那个 给一个长度为N的数组,把他们任意取l,r的连续区间 ,求sort后的中位数,放在一起,组成一个新序列,然后再 阅读全文
posted @ 2020-09-09 20:21 摸鱼选手LLF 阅读(127) 评论(0) 推荐(0)
摘要:水题 ; 最优解最多只会回头一次 所以依次判断就行了 链接 :https://atcoder.jp/contests/arc101/tasks/arc101_a #include<bits/stdc++.h> #define pb push_back #define fi first #define 阅读全文
posted @ 2020-09-09 15:53 摸鱼选手LLF 阅读(148) 评论(0) 推荐(0)
摘要:这题纯脑残了 分奇偶处理一下就行了 链接 :https://atcoder.jp/contests/arc102/tasks/arc102_a #include<bits/stdc++.h> #define rep(i,a,n) for(int i=a;i<=n;++i) #define per(i 阅读全文
posted @ 2020-09-09 15:50 摸鱼选手LLF 阅读(148) 评论(0) 推荐(0)
摘要:T组样例 题意 博弈游戏 一开始有个value是0 第一个人的目标是让value保持0 第二个人是让value不为0 给一个长度为N数组 然后给一个长度为N字符串 0代表第一个人可以选择此数进行异或,也可以什么都不干 1代表第二个人 题解: 显然 第二个人没动手之前,第一个人不动 所以倒着来一次线性 阅读全文
posted @ 2020-09-09 00:19 摸鱼选手LLF 阅读(189) 评论(0) 推荐(0)
摘要:题意 给你一个角度,每次向前走一米,然后变换角度再向前走一米,问多久回到原点 显然 这就是个lcm和360度的问题 然后用计算几何模拟了一下练练手 还出了挺多问题 #include<bits/stdc++.h> #define pb push_back #define fi first #defin 阅读全文
posted @ 2020-09-08 23:32 摸鱼选手LLF 阅读(190) 评论(0) 推荐(0)
摘要:题意: 给一堆字符串 问你有多少个pair,是满足条件的 1 x是y的 后缀 2 x是y 的后缀加上y前面的任意一个字符 题解 开个trie树处理一下 #include<bits/stdc++.h> //#include<tr1::unordered_map> #define rep(i,a,n) 阅读全文
posted @ 2020-09-08 23:23 摸鱼选手LLF 阅读(231) 评论(0) 推荐(0)
摘要:链接 https://atcoder.jp/contests/agc047/tasks/agc047_a 题意:给N个数 问两两相乘是整数的pair的个数 每个数最多有九位小数 题解 把每个数乘1e9 然后判断乘积%1e18是不是0就行了 然后要快速处理这个 我们发现1e18 有18个2和18个5 阅读全文
posted @ 2020-09-08 23:19 摸鱼选手LLF 阅读(217) 评论(0) 推荐(0)
摘要:题意 :给你N个木头,长度分别是ai 让你切K次, 切完后,让你求长度最大的木头最小值,(最大值最小) 题解 考虑一个value ,我切K次能不能保证所有木头都小于value 一个木块的长度为len,那切完后小于等于value,就需要 (len-1)/value 次 (上取整-1,手玩一下想想) 所 阅读全文
posted @ 2020-08-03 15:42 摸鱼选手LLF 阅读(206) 评论(0) 推荐(0)
摘要:题意 一个树,你每次可以删一条边,然后获得大小为i的连通块 i由字符串决定,第i位为1代表可以 为0代表不可以 题解 构造多个菊花图然后连在一起 利用菊花图的性质就可以了 菊花图: 一个根节点,其他全是叶子 #include<bits/stdc++.h> #define rep(i,a,n) for 阅读全文
posted @ 2020-07-28 11:12 摸鱼选手LLF 阅读(137) 评论(0) 推荐(0)