随笔分类 -  codeforces

摘要:阅读题,概要:给出垃圾邮件和非垃圾邮件的集合,然后按照题目给出的贝叶斯公式计算概率一封邮件是垃圾邮件的概率。逐个单词判断,将公式化简一下就是在垃圾邮件中出现的次数和在总次数的比值,大于二分之一就算是垃圾邮件的单词。如果一个邮件里的垃圾邮件的单词出现次数超过给定比例就算是垃圾邮件。需要注意的地方是:一... 阅读全文
posted @ 2015-08-21 19:06 瑞宇 阅读(397) 评论(0) 推荐(0)
摘要:题目:http://codeforces.com/gym/100338/attachments贪心,每次枚举10的i次幂,除k后取余数r在用k-r补在10的幂上作为候选答案。#includeusing namespace std;typedef unsigned long long ull;cons... 阅读全文
posted @ 2015-08-21 18:04 瑞宇 阅读(242) 评论(0) 推荐(0)
摘要:正反两次最短路用于判断边是不是最短路上的边,把最短路径上的边取出来建图。然后求割边。注意重边,和卡spfa。正权,好好的dijkstra不用,用什么spfa?#includeusing namespace std;typedef long long ll;#define fi first#defin... 阅读全文
posted @ 2015-08-21 17:23 瑞宇 阅读(243) 评论(0) 推荐(0)
摘要:http://codeforces.com/gym/100650概要:给出一个缩写,和一些单词,从单词中按顺序选一些字母作为缩写,问方案数。限制:某些单词要忽略,每个单词至少要选一个字母。dp[i][j]表示到第i个单词的时候已经选了j个字母的方案数。很明显,当前字符ch是第j个字符的时候,第j-1... 阅读全文
posted @ 2015-08-18 22:17 瑞宇 阅读(352) 评论(0) 推荐(0)
摘要:http://codeforces.com/gym/100650阅读题,边界的cell的邻居要当成一个环形的来算,时间有8s,状态最多2^16种,所以直接暴力枚举就行了。另外一种做法是逆推。#includeusing namespace std;int m,n;const int maxn = 17... 阅读全文
posted @ 2015-08-18 18:11 瑞宇 阅读(258) 评论(0) 推荐(0)
摘要:题目链接:http://codeforces.com/gym/100650根据给出的树和d,求出一些结点,这些结点形成子树的第d层结点数应该尽量多,具体要求可以参考题目。dfs一个结点前保存询问深度的答案,访问完以后减去之前的值就得到答案了。#includeusing namespace std;c... 阅读全文
posted @ 2015-08-18 18:06 瑞宇 阅读(171) 评论(0) 推荐(0)
摘要:把'I'拆成容量为1一条边,一个入点一个出点,入点和相邻的'W'连一条容量为1的边,出点和相邻的'N'连一条容量为1,所有的'W'和源点连一条容量为1边,所有的'N'和汇点连一条容量为1的边,表示只能用一次。一发网络流就过了。写了4000B+的贪心,然并卵#includeusing namespac... 阅读全文
posted @ 2015-08-15 17:24 瑞宇 阅读(212) 评论(0) 推荐(0)
摘要:官方题解是离线询问,dfs树形转线性,然后二分找区间。还有一种比较好的做法是直接dfs,将当前访问这个结点u相关的询问之前的状态存起来,然后访问完以后利用异或开关性,得到这颗子树上的答案。代码是学习别人的http://blog.csdn.net/squee_spoon/article/details... 阅读全文
posted @ 2015-08-14 23:49 瑞宇 阅读(262) 评论(0) 推荐(0)
摘要:先扫描一遍得到每个位置向后连续的'.'的长度,包含自身,然后在扫一遍求出初始的合并次数。对于询问,只要对应位置判断一下是不是'.',以及周围的情况。#includeusing namespace std;const int maxn = 3e5+5;char s[maxn];int post[max... 阅读全文
posted @ 2015-08-14 03:09 瑞宇 阅读(216) 评论(0) 推荐(0)
摘要:贪心,如果m分成的两个区间长度不相等,那么选长的那个区间最接近m的位置,否则选m-1位置,特判一下n等于1的情况#includeusing namespace std;int main(){ int n,m; scanf("%d%d",&n,&m); if(n == 1){ ... 阅读全文
posted @ 2015-08-14 03:05 瑞宇 阅读(131) 评论(0) 推荐(0)
摘要:交互式程序,要用到一个函数fflush,它的作用是对标准输出流的清理,对stdout来说是及时地打印数据到屏幕上,一个事实:标准输出是以『行』为单位进行的,也即碰到\n才打印数据到屏幕。这就可能造成延时。在Windows平台上是看不出来的,它被改成及时生效了。而fflush对stdin的作用是清除冗... 阅读全文
posted @ 2015-08-08 22:59 瑞宇 阅读(302) 评论(0) 推荐(0)
摘要:紫书上面的题,队友做的,WA了freopen。。爆了int。。。UVA 1614 - Hell on the Markets 奇怪的股市(贪心,结论) 阅读全文
posted @ 2015-08-08 21:49 瑞宇 阅读(213) 评论(0) 推荐(0)
摘要:每一单词相邻两个字母,不能同时为元音或者辅音。。。各种姿势都可以过:7个for,dp,黑白染色,dfs,并查集。。。。最主要的思路就是相邻字母连边,把元音和辅音看成两个集合,那么有连边的两个字母一定不能出现在同一个集合中,于是想到了二分图判断的二染色。比较坑的是,必须要出现5个元音字母见识到了str... 阅读全文
posted @ 2015-08-08 21:44 瑞宇 阅读(374) 评论(0) 推荐(0)
摘要:题意:麦田的故事,n张牌,取x张牌,记住前x张牌最大的值m,继续往后取,遇到第一张比m大的牌就停下来。求一个x使得最后的牌在整副牌里是最大的期望最大。假设最大的牌是A,A在各种位置出现的概率就是相等的,因为题目不要求输出概率,所以当成1。在A固定的情况下,在它前面的牌中最大的牌B,出现在各个位置的概... 阅读全文
posted @ 2015-08-08 00:14 瑞宇 阅读(338) 评论(0) 推荐(0)
摘要:题意:构造让Dijkstra单源最短路算法有效松弛次数最多的数据。。。题解:构造,题意换种说法就是更新晚的路径要比更新早的路径短。因为所有点都会更新一次,那么按照更新时间形成一条链,即到最后一个点的最短路径,注意:越在这条链的后面的边越晚更新,然后添加边,在前面的点所连的边一定是先更新的,所以反过来... 阅读全文
posted @ 2015-08-06 19:11 瑞宇 阅读(345) 评论(0) 推荐(0)
摘要:傻逼题,但是为什么别人的O(n^3)不会T?只是因为用了bitset优化。。。附上一张bitset基本操作的表#includeusing namespace std;const int maxn = 1500+2;char g[maxn][maxn];bitset b1[maxn],b2[maxn]... 阅读全文
posted @ 2015-08-06 18:53 瑞宇 阅读(314) 评论(0) 推荐(0)
摘要:如果直接模拟水向周围流会TLE,因为某些个结点被重复扩展了多次,科学做法是topo排序,每次只把入度为0的点放入队列,这样就严格保证了每个结点只被扩展一次。#includeusing namespace std;#define eps 1e-9#define bug(x) cout son[maxn... 阅读全文
posted @ 2015-08-05 09:45 瑞宇 阅读(349) 评论(0) 推荐(0)
摘要:题意:给出一堆元素,求一个子集,使子集的乘积最大,如有多个,应该使子集元素个数尽量小。题解:贪心,如果有大于1的正数,那么是一定要选的,注意负数也可能凑出大于1的正数,那么将绝对值大于1的负数两两配对,如果还剩下一个绝对值大于1的负数,那么在判断一下,那个负数和比它大的最小负数的乘积是否大于1,如果... 阅读全文
posted @ 2015-08-04 22:36 瑞宇 阅读(372) 评论(0) 推荐(0)
摘要:题意:询问单源最短路径,每条边有一个颜色,要求路径上相邻边的颜色不能相同,无重边且边权为正。题解:因为路径的合法性和边的颜色有关,所以在做spfa的时候,把边丢到队列中去,松弛的时候注意判断一下颜色,d数组表示到这条边的出点v的距离。期望复杂度是O(km),k是边入队次数,m是边数。最后根据边来松弛... 阅读全文
posted @ 2015-07-29 23:03 瑞宇 阅读(269) 评论(0) 推荐(0)
摘要:关于sg函数这篇blog讲得很详细http://blog.csdn.net/logic_nut/article/details/4711489。sg函数的价值在于把复杂的游戏拆分成简单的游戏,然后通过计算出这些简单游戏的sg值得到复杂游戏的sg值。求sg值的基本方法:是根据状态转移,有些问题可以找到... 阅读全文
posted @ 2015-07-29 19:19 瑞宇 阅读(506) 评论(0) 推荐(0)