CodeForces题解
DYT_B
略过
展开
-
Codeforces Round# Good Bye 2013 New Year Letter
题目描述:戳这里题解:这题数据这么小,显然是一道暴力题。 我们枚举一下两个字符串的首和尾是哪个字符,再枚举一下AC的个数,然后DP推一下第k项,判断一下是不是AC总数等于k就好了。 但是细节特别多,代码比较乱。。。。。 代码如下:#include<bits/stdc++.h>using namespace std;const int maxn=55;int ...原创 2018-07-11 09:42:48 · 181 阅读 · 0 评论 -
Codeforces Round #198 (Div. 2) E. Iahub and Permutations
题目描述:戳这里题解:这题是一道组合+递推题。 首先直接错排是不行的,因为有一些位置上原来与它配对的点已经被其它某一个点占用了,所以要重新思考。 既然有这种占用的情况,我们注意到有几个点被占用了,那么原本与占用这个点的位置配对的点就空下来了。我们可以将它们先补到那些被占用点的位置上去。我们假设这些点的个数为sumx,那么剩下的没有任何限制条件又未被占用的点的个数,我们设为sumy。那么...原创 2018-07-10 16:26:05 · 234 阅读 · 0 评论 -
Codeforces Round #290 (Div. 2) E. Fox And Dinner
题目描述:戳这里题解:这题是一道比较猥琐的网络流题。 我们注意到一个质数(>2)肯定是由一个偶数和一个奇数相加得到的。那么我们就可以将奇数和偶数连边,然后跑一趟二分图匹配。但是考虑到每一桌至少要有三个人,而匈牙利算法是无法解决这一条件的,那么就要用网络流来解决。 注意到一个奇数肯定与两个偶数相邻这个条件,那么我们就可以从奇数的节点向偶数的节点连边,流量为1,然后从源点S向奇数...原创 2018-07-10 13:17:59 · 187 阅读 · 0 评论 -
Codeforces Round #162 (Div. 1) B Good Sequences
题目描述:传送门题解:这题是一道DP好题。 如果数据量小的话,我们可以直接gcd+DP,复杂度是O(n^2log(n))的。但是这题n达到了1e5的数据量,这样做肯定会Tle。 那么我们就要思考更好的方法了。 考虑gcd可以用因子来表示,即x和y有公共因子A。 我们定义...原创 2018-07-09 19:51:25 · 180 阅读 · 0 评论 -
Luogu(?) CF5C Longest Regular Bracket Sequence
题目描述:传送门 题解: 做过最水的提高+省选-题。。。DP一下。对于每一个),找到和它匹配的(。考虑可以有(…)(…)(…)这种情况,我们只要再开一个DP数组维护一下就好了。。。代码如下:#include&lt;cstdio&gt;#include&lt;string&gt;#include&lt;cstring&gt;using namespace std;const in...原创 2018-05-12 19:16:04 · 171 阅读 · 0 评论 -
Luogu(?) CF5C Longest Regular Bracket Sequence
题目描述:传送门 题解: 这题是一道贪心题。 我们可以先默认将每一个?都作为)来匹配。 对于每一个问号,如果匹配完了之后,用来记录是否完成匹配(0则匹配)的sum小于0,说明)太多了,就要将前面的某一个?变成的)变成(。那么我们要最小代价,可以建一个堆,找到代价最小的来替换。#include&lt;cstdio&gt;#include&lt;string&gt;#include&l...原创 2018-05-12 10:31:43 · 361 阅读 · 3 评论 -
Luogu(?) CF2B The least round way
题目描述:传送门 题解: 这题比较简单。要后缀零的个数最少,2和5最少就可以了。那么我们只要每一个数挖出2和5,分别DP就可以轻松解决了。注意要特判中间有一个或一些数是0的情况,如果有,则判断是否有没有一个后缀零的情况,如果没有,答案就是1。 代码如下:#include<cstdio>#include<string>using namespace std;...原创 2018-05-11 19:36:46 · 282 阅读 · 0 评论 -
Codeforces Round #307 (Div. 2) D. GukiZ and Binary Operations
题目描述:传送门题解:这题一看就是按位处理,只要有两个相邻的数都是1就可以了。 我们一开始肯定想要排列组合推一推,但是看似好像非常不可做。 那么我们就可以先写一下递推方程。 设f[i]为某一位上(二进制下)推到第i个点,结果为0的方案数,那么就可以递推了。 如果这一位为0,那么前面一位是0是1都可以,所以f[i]+=f[i-1] 如果这一位是1,那么前一位必须是0,那么f[i]+...原创 2018-07-11 20:07:41 · 145 阅读 · 0 评论 -
Codeforces Round #200 (Div. 1) D. Water Tree
题目描述:戳这里题解:这题是一道数据结构题。 当然,我们一看操作2,就可以直接树链剖分。 但是这样写比较长= =表示不想(不会)码,所以就搜索了一下,发现了一个比较简单的方法。 我们注意到,一个节点,只要它的子树中有一个点是没有水的,那么根据操作2,这个点肯定是没有水的。 如果是操作一,直接修改一下子树就好了。 这让我们想到了线段树。先求一下dfs序,然后直接线段树修改一下就好了...原创 2018-07-12 16:41:45 · 206 阅读 · 0 评论 -
Codeforces Round #151 (Div. 2) E. Blood Cousins Return
题目描述:戳这里题解:这题的大意是给出一颗树,每个节点有一个颜色,和m个询问,每个询问要求某一个节点vi的子树与它距离=ki 的节点中不同的颜色种类。这里只涉及到对子树的统计并且不用修改,那么我们就可以用dsu on tree来解决。 具体可以看CF中这位dalao的解析 对于这题,我们要求不同的颜色种类,那么只要开一个set或者map存一下就好了。代码如下:#incl...原创 2018-07-15 10:22:04 · 204 阅读 · 0 评论 -
Codeforces#253 D - Andrey and Problem
题目描述:戳这里 题解: 这题是口胡DP题??? 然后我发现我两个月以前做过,并且现在不会做了 ??? 好吧,还是正经点吧。。。 我们只需要一道题,那么我们就可以考虑一个比较sb的DP。f[i][j][0/1]f[i][j][0/1]f[i][j][0/1]表示前i个人,选了j个(i必选),第i个人有(1)或者没有(0)一个人给了题的概率。 那么就可以写出转移方程(表示不知道是否有正确...原创 2018-07-22 10:35:05 · 231 阅读 · 0 评论 -
Codeforces Round #379 (Div. 2) E. Anton and Tree
题目描述:戳这里 题解: 这题还是比较妙的。 我们发现有这么多的同色块,块的大小又不一样,好像无从下手。 但是我们发现一个块最多只要改一次,那么我们可以把每一个块缩成一个点(dfs一下)就省去了很多麻烦。 缩完点之后,题目就变得简单了很多,一个黑点边上只有白点,白点边上只有黑点。这就可以贪心解决,答案肯定是树的直径的一半。代码如下:#include<cstdio>...原创 2018-08-05 18:10:31 · 173 阅读 · 0 评论 -
莫比乌斯容斥:Codeforces Round #251 (Div. 2)
题目描述:戳这里 题解: 这题是莫比乌斯函数的一个比较好的应用。 我们假设没有gcd为1这个限制条件,那么直接C(n-1,r-1)就行了 这样求出来的其实是大于等于gcd=1的方案总数。 而我们要求的其实是恰好gcd=1的方案数。 那么这就是容斥的典型应用。 但是我们容斥的其实是有gcd中有几个不同的素因子(同一个因子出现多次已经在在这个素因子出现一次的情况中统计过了)。 那么我们...原创 2018-08-10 08:22:45 · 369 阅读 · 0 评论 -
Codeforces 236E div.2 Strictly Positive Matrix
题目描述: CF出了点小偏差,改日再补。。简述: 给你一个矩阵,如果它的k次幂中的每一个元素都大于0,那么就输出YES,否则输出NO。题解: 这题有一个比较巧妙的小转化。如果我们把n*n的矩阵转化成描述n个点的连通性的图,那么会有什么性质? 这样的话,矩阵的乘方不就是刷只和连通性有关的floyd吗。 那么只有图是强联通的才能输出YES。 那么我们考虑刷tarjan,如果整个图只有一...原创 2018-08-07 18:51:13 · 239 阅读 · 0 评论 -
Codeforces 528 D. Fuzzy Search
题目描述题解:这题是字符串匹配的加强版。我们可以先预处理出S串的每一个位置能放那些字母。然后我们考虑对于每一种字母分开来处理。假设处理字母k。对于S中的每一位,有可以放这个字母k和不能放两种情况。对于T中的每一位,有是k和不是k两种情况。那么对于这个字母,如果S和T的某一位不能匹配只有一种情况:S没有k,而T有k。我们考虑用FFT来解决字符串的匹配问题。那么我们可以考虑如果S的...原创 2018-12-27 19:12:06 · 346 阅读 · 0 评论 -
Luogu(?) CF1C Ancient Berland Circus
题目描述:传送门 题解:luogu中的Dalao写的题解已经很好了,计算几何题。。。 ps:第一次发现三角函数是弧度制的[汗]#include<cstdio>#include<string>#include<cmath>using namespace std;const double PI=acos(-1.0),eps=1e-2;double ...原创 2018-05-11 15:35:49 · 239 阅读 · 0 评论