摘要: A 7的所有的余数都可以用1,6,8,9排列得到,然后搞一下就可以了。B 可以用类似于单调队列的东西搞。具体看代码:/* * Problem: B. Maximum Submatrix 2 * Author: Shun Yao * Note: 题目要求交换行,我写的交换列。于是把矩阵转换一下就可以。 */#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include ... 阅读全文
posted @ 2014-01-07 08:10 hsuppr 阅读(249) 评论(0) 推荐(0) 编辑
摘要: A (被装的袋鼠不可以装的袋鼠)贪心,排序,从n/2分成两部分。B 好一道前缀和的题目。C 标准算法不难想,m^2的算法见http://codeforces.com/blog/entry/9907#comment-153963D dfs序的应用,详情自行搜索。E 反演变换。 阅读全文
posted @ 2014-01-06 11:06 hsuppr 阅读(145) 评论(0) 推荐(0) 编辑
摘要: A. Sereja and Algorithm 水题不解释。B. Sereja ans Anagrams 模p同余的为一组,随便搞。C. Sereja and the Arrangement of Numbers 我还以为是找规律。。。 把每个数当成一个点。就有一个图。让后求欧拉路什么的。D. Sereja and Sets 这个思路感觉很巧妙(可能是我太弱了),我们对于每一段连续的d,找到不包含它们的所有集合,这些集合的子集一定不可行。 见代码。/* * Problem: D. Sereja and Sets * Author: Shun Yao */#include #inc... 阅读全文
posted @ 2014-01-06 09:26 hsuppr 阅读(254) 评论(0) 推荐(0) 编辑
摘要: (转自lazycal.gitcafe.com / lazycal) 花了一周十分没效率的做了数论同余的专题的基础,还有好多不会啊。先写下来,备忘一下。 以下大部分都是膜拜AC大神(福州大学 陈鸿 AekdyCoin)的课件学来的。 基础 基础 1.a = b (mod c) <==> a = cx 阅读全文
posted @ 2014-01-03 10:23 hsuppr 阅读(214) 评论(1) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-01-03 10:11 hsuppr 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 线性同余方程和中国剩余定理就不多说了。线性同余方程组的求解可以分解为求若干个线性同余方程。比如,对于线性同余方程组:2x ≡ 2 (mod 6)3x ≡ 2 (mod 7)2x ≡ 4 (mod 8 )首先求解第一个方程,得到x ≡ 1 (mod 3),于是令x = 3k + 1,第二个方程就变为:9k ≡ −1 (mod 7 )解得k ≡ 3 (mod 7 )。于是,再令k = 7l + 3,第三个方程就可以化为:42l ≡ −16 (mod 8 )解出:l ≡ 0 (mod 4 ),即 l = 4m。代入原来的表达式就有 x = 21(4m) + 10 = 84m + 10,即解为:x ≡ 阅读全文
posted @ 2014-01-03 10:10 hsuppr 阅读(670) 评论(0) 推荐(0) 编辑
摘要: 好久不写东西了。记录一下。。。前段时间tc和cf都出了反演的题目。详情见http://zh.wikipedia.org/wiki/%E5%8F%8D%E6%BC%94反演是种几何变换。给定点O、常数k,点P的变换对应点就是在以O开始的射线OP上的一点P'使得|OP||OP'| =k2。反演的结果:过O的直线:直线过O的圆:不过O的直线不过O的圆:圆过O的球:不过O的平面对于点x=(x1, x2, ..., xn),以原点为中心,在直角坐标系的反演变换可写成 阅读全文
posted @ 2014-01-03 09:56 hsuppr 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一下转自http://hi.baidu.com/aekdycoin/item/e051d6616ce60294c5d249d7大家都在中学阶段学习了组合数的定义:这个表示的是从n个元素中选取m个元素的方案数。(PS.组合数求模似乎只用在信息学竞赛和 ACM竞赛等计算机编程设计大赛中……,求在现实中的运用)可以知道当n,m取得比较大的时候,组合数可能很大很大 (天文数字?无法度量?)例如 C(100, 50) = 100891344545564193334812497256,于是计算机的 64位整数型已经没法阻止它了!C(1000000000, 500000000) ? C( 2^50000, 阅读全文
posted @ 2013-09-23 15:04 hsuppr 阅读(476) 评论(0) 推荐(2) 编辑
摘要: 网上有很多解题报告,我的理解就是可以用类似数学归纳的方法证明,就是取一个数,让对手进入必败态。详细见论文。 阅读全文
posted @ 2013-09-23 10:15 hsuppr 阅读(239) 评论(0) 推荐(1) 编辑
摘要: 转自http://blog.sina.com.cn/s/blog_63e4cf2f0100tq4i.html今天在POJ做了一道博弈题..进而了解到了阶梯博弈...下面阐述一下我对于阶梯博弈的理解..首先是对阶梯博弈的阐述...博弈在一列阶梯上进行...每个阶梯上放着自然数个点..两个人进行阶梯博弈...每一步则是将一个集体上的若干个点( >=1 )移到前面去..最后没有点可以移动的人输..如这就是一个阶梯博弈的初始状态 2 1 3 2 4 ... 只能把后面的点往前面放...如何来分析这个问题呢...其实阶梯博弈经过转换可以变为Nim..把所有奇数阶梯看成N堆石子..做nim..把石子 阅读全文
posted @ 2013-09-23 07:54 hsuppr 阅读(361) 评论(0) 推荐(1) 编辑
摘要: 简单分析一下,容易知道两堆石头地位是一样的,我们用余下的石子数(a,b)来表示状态,并画在平面直角坐标系上。用之前的定理:有限个结点的无回路有向图有唯一的核中所述的方法寻找必败态。先标出(0,0),然后划去所有(0,k),(k,0),(k,k)的格点;然后找y=x上方未被划去的格点,标出(1,2),然后划去(1,k),(k,2),(1+k,2+k),同时标出对称点(2,1),划去(2,k),(1,k),(2+k,1+k);然后在未被划去的点中在y=x上方再找出(3,5)。。。按照这样的方法做下去,如果只列出a<=b的必败态的话,前面的一些是(0,0),(1,2),(3,5),(4,7), 阅读全文
posted @ 2013-09-22 17:53 hsuppr 阅读(278) 评论(0) 推荐(1) 编辑
摘要: 想了好久啊。。。(#-.-)开始想到m*n个点的构图,明显超时,于是考虑压缩节点个数我们发现每个猪圈最后被有且只有一个人调整,于是想到对于一个人,连接他能调整的每个猪圈的上一个控制人。(不懂可以开代码 (・(ェ)・) )/** * Problem:POJ1149 * Author:Shun Yao * Time:2013.9.13 * Result: * Memo: */ #include #include #define INF 0x7fffffff#define MAXT 1111long m, n, s, t, f[MAXT], p2[MAXT], h[MAXT], sum[MAXT]; 阅读全文
posted @ 2013-09-13 10:20 hsuppr 阅读(233) 评论(0) 推荐(0) 编辑
摘要: .....是我多想了。我想开f[][0~3],看到百度上的题解都是[0~2]的,我就改了方程不是特别难想。。f代表最小代价f[i][0]是子树有环过if[i][1]是子树除了i都成环了f[i][2]是子树有条链过i(最少2个点,包括i)转移见代码(有状态了转移很好想)。/** * Problem:POJ1848 * Author:Shun Yao * Time:2013.9.2 * Result:Accepted * Memo:TreeDP */#include #define MAXN 110#define inf 1000long f[MAXN][3];long min(long x, l 阅读全文
posted @ 2013-09-02 17:56 hsuppr 阅读(388) 评论(2) 推荐(0) 编辑
摘要: 好难啊,我弱爆了。题解看陈启峰的论文。。。/** * Problem:POJ2152 * Author:Shun Yao * Time:2013.9.2 * Result:Accepted * Memo:TreeDP */#include #include #include #define MAXN 1010#define inf LONG_MAXlong n, w[MAXN], d[MAXN], f[MAXN][MAXN], ff[MAXN], dist[MAXN];long gtot;class Edge {public: long v, w; Edge *next; Edge() {} 阅读全文
posted @ 2013-09-02 11:20 hsuppr 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 除草了。。Crash的旅行计划【问题描述】过不了多久,Crash就要迎来他朝思暮想的暑假。在这个暑假里,他计划着到火星上旅游。在火星上有N个旅游景点,Crash用1至N这N个正整数对这些景点标号。旅游景点之间通过双向道路相连。由于火星的环境和地球有很大的差异,建立道路的成本也相对较高。为了节约成本,只有N-1条道路连接着这些旅游景点,不过可以保证任何两个不同的旅游景点都通过路径相连。Crash预先在互联网上查阅了这些景点的信息,根据网上的介绍,他对每个景点都有一个印象值,这个印象值为一个整数。在这个旅行中,他会选择一个景点作为旅行的开始,并沿着存在的道路到达其他景点游玩。为了使旅行不显得乏味, 阅读全文
posted @ 2013-08-23 16:46 hsuppr 阅读(539) 评论(3) 推荐(0) 编辑