摘要:
2014-11-2022:41:06总结:这场cf总共6题,比赛艹了四题,成功帮助绿名小号回蓝-。-‘,赛后补完。A:问排序的交换方案,并输出,这种模拟题在cf不少见,就是比谁更暴力! 1 /******************************************************... 阅读全文
摘要:
2014-11-1916:47:57摘自:http://bbs.csdn.net/topics/250044605 1 C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下: 2 3 clock_t clock( void ); ... 阅读全文
摘要:
2014-11-1817:25:19思路:dp[i][a][b],表示确定了i个数位,7的奇偶情况是a,9的奇偶情况是b,然后发现n很大,显然用矩阵加速。 右侧单列矩阵四个元素分别是:奇奇、奇偶、偶奇、偶偶的情况,然后构造一下左侧矩阵就行了。 (这里可以把4*4矩阵优化成3*3,因为发现奇偶和偶... 阅读全文
摘要:
2014-11-1323:04:17思路:这题的思路要倒过来,求不想交的路径对,那么先求相交的路径对,再用总数减一下。 相交路径对:A->C × B->D 方案数,因为先从A到C,B到D,找到两路径交点,再把A->交点->C的路径改为A->交点->D,B同理,这样就能使得两路径有交点了。 1 /*... 阅读全文
摘要:
2014-11-1220:24:14总结:这场前三题比较顺利,D想到是树DP然后就不想搞了,作死搞了一发E....没搞出来orz....A:简单数学 1 /************************************************************************... 阅读全文
摘要:
2014-11-1012:15:40思路:挺好的思维,DP来做。 现在考虑n条直线,假设1,2,3...n-1条直线的情况都已算完,设n条直线里有有n-r条直线互相平行,那么另外r条直线与这n-r条直线交点数:(n-r)*r,然后还要加上算r条直线的方案,也就是f(n) = (n-r)*r + f... 阅读全文
摘要:
2014-11-0917:22:51思路:这题简而言之就是给你N个数对,每个数对有两个数s和b,让你求最长的使得s和b都严格上升的数列。 首先将s升序排序,s相同的情况将b降序排序,这样就是直接在剩下的b数列中求LIS了(因为s升,b降这样排的话不会使最后的序列里b对应的s相等,思考) 1 /*... 阅读全文
摘要:
2014-11-0723:34:39思路:这题让我无语凝噎。首先想到用数组来存状态,因为N,B,K,T都比较小,所以可以直接存在dp[N][B][K][T]数组里,dp[v][b][k][t]表示当前在v点,身上有b袋盐,在第k平行宇宙,并且剩t分钟时间,用的是Spfa来松弛dp数组的值(说法可能不... 阅读全文
摘要:
2014-11-0713:56:56思路:这题用了容斥原理考虑,然后就是细节处理了。 方法:把答案写成:F(b,d) - F(a - 1,d) - F(b,c - 1) + F(a - 1,c - 1),F(x,y)的含义是从[0,x],[0,y]中选两个数使得他们的和模p等于m的方案数。 (1... 阅读全文
摘要:
2014-11-0622:58:13思路:首先尽量用黑边来生成树,然后尽量用白边来生成树。这样就求出了生成树内白边数量的最小可能值min和最大可能值max,那么min~max之间的值都是能取到的。(具体证明不是彻底懂) 注意:判图连通性用并查集时,判断所有点的祖先是相同的,找每个点的祖先时一定要... 阅读全文
摘要:
2014-11-0522:30:47思路:首先把所有感染的cheeses存到一个数组,注意要去重!!(QAQ坑了两发)然后给每对满足条件:二进制只有一位不同的两个点建边,因为这些点对可以通过一次操作搞定,为了覆盖所有点,要选一些边,就是最小边覆盖问题了。判断两个数是否只有一位不同:设两数为A、B,且... 阅读全文
摘要:
2014-11-0520:35:13思路:最小边覆盖 = 最大独立集 = 点总数 - 最大匹配数。 这题和在一个有洞的图里放1*2的骨牌题是一样的,给每个不是‘o'的点编号,然后扫一遍图,如果发现一对相邻点都是’*’,那么进行建边。然后求最小边覆盖即可。 (在我的理解中,最小边覆盖之所以要求最大... 阅读全文
摘要:
2014-11-0519:52:32思路:裸的最大匹配。 1 /************************************************************************* 2 > File Name: 2063.cpp 3 > Author: ... 阅读全文
摘要:
2014-11-0518:38:54思路:直接建图然后求最大独立集即可,需要注意的是答案需要除以2,以为二分图两个集合:X集合和Y集合是一样的,有对称性,所以最大独立集元素个数也是原来的两倍。 1 /**************************************************... 阅读全文
摘要:
2014-11-0515:39:52思路:这题要选的是相互认识的人,那么我们把相互不忍识的girls和boys连边,这样就能转化成最大独立集问题了,最大独立集里的人一定相互认识,因为不认识的都连过边了,而最大独立集的任意两点不可能有连边。 1 /***************************... 阅读全文
摘要:
2014-11-0514:11:41思路:这题和ZOJ1654有点像,建图方法类似,但是建图意义不一样。 这题中的木板长度可以变-。-.....所以一开始不知道怎么下手,其实转念一想把有草的地方看成墙(木板不能跨过去),然后按照块来编号(和zoj1654类似),于是我们有了行块编号和列块编号。然后... 阅读全文
摘要:
2014-11-0423:43:11思路:比较好建图的题,X集合是A机器,Y集合是B机器,每条关系建一条有向边,然后就是最小点覆盖问题了。 主要注意的是:A、B机器刚开始的状态为0,所以只要job可以用A的mod0或B的mod0,就不用建边。 1 /************************... 阅读全文
摘要:
2014-11-0422:57:48思路:König定理:最小覆盖点数==最大匹配数。证明:推荐Matrix67(虽然还没全看懂QAQ)http://www.matrix67.com/blog/archives/116 1 /*************************************... 阅读全文
摘要:
2014-11-0421:31:10思路:不造什么叫多重匹配,反正按照正常的思路就能过了。 考虑每个参赛者,假设他要S、M、L的衣服,那么就把他和所有S、M、L的衣服连边(有几件衣服练几条边),然后就是最大匹配了。 1 /**************************************... 阅读全文
摘要:
2014-11-0417:53:19思路:二分图最大匹配经典模型,根据每个地鼠能到的洞建有向边。 1 /************************************************************************* 2 > File Name: 2536.... 阅读全文