上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 38 下一页
摘要: 很容易判断是BFS,可是,呵呵呵呵呵呵。。。。。。。。。HASH判重吧,判连通可以用并查集。以下代码是转别人的,我码了一下午,发觉越码越丑,呵呵了。http://www.cnblogs.com/Lyush/p/3416507.html#include #include #include #inclu... 阅读全文
posted @ 2015-03-16 16:26 chenjunjie1994 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Manacher算法,相当于求回文串。关于Manacher,转http://blog.sina.com.cn/s/blog_70811e1a01014esn.html现在进入正题:首先,在字符串s中,用rad[i]表示第i个字符的回文半径,即rad[i]尽可能大,且满足:s[i-rad[i],i-1... 阅读全文
posted @ 2015-03-16 11:59 chenjunjie1994 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 各种序列复习:(1)最长上升子序列。1、这个问题用动态规划就很好解决了,设dp[i]是以第i个数字结尾的上升子序列的最长长度。那么方程可以是dp[i]=max(dp[j]+1)。(jd[p],q 2 #include 3 #include 4 using namespace std;... 阅读全文
posted @ 2015-03-16 10:57 chenjunjie1994 阅读(200) 评论(0) 推荐(0) 编辑
摘要: 直接贪心就好。#include #include #include #include #define LL __int64using namespace std;struct Job{ int s,e,v; bool operator m) n--; if(n... 阅读全文
posted @ 2015-03-16 09:39 chenjunjie1994 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 裸 的错排。。。。 1 #include 2 #include 3 #include 4 #include 5 #define LL __int64 6 using namespace std; 7 const LL MOD=1000000007; 8 LL cuo[110]; 9 10 v... 阅读全文
posted @ 2015-03-16 09:27 chenjunjie1994 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 这题我已不想吐槽自己了。第一反应就是个01背包,也就是加了些限制。开始时按 l 排序,按01的来写,呵呵,输出数组时才发现不对。后来改为按 l-t即最早开始时间排,OK。但自己手贱竟然写了个线段树要快速返回前面大的值。2B啊,既然按最早开始时间加入,那分值必定是按顺序递增的啊,根本就没必啊。。。所以... 阅读全文
posted @ 2015-03-15 21:05 chenjunjie1994 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 超简单的公式题(2^n-2)。不过,要过可不容易,因为会爆64位,所以,可以使用快速乘法。#include #include #include #define LL unsigned __int64using namespace std;LL n,p;LL mul(LL x,LL m,LL p)//... 阅读全文
posted @ 2015-03-15 21:01 chenjunjie1994 阅读(159) 评论(0) 推荐(0) 编辑
摘要: easy !! 1 #include 2 #include 3 #include 4 #define LL __int64 5 using namespace std; 6 7 8 int input[210],l; 9 char in[210];10 struct BigNumber{1... 阅读全文
posted @ 2015-03-15 20:59 chenjunjie1994 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 整理一下思路,明天再写。。。这道题,其实就是求包含大于10的斐波那切数字的第K(K是斐波那契数)个数。注意到斐波那契数的爆炸性增长,所以在范围 内的符合要求的F数并不多吧。比如求第K个F数,那么,前K个F数都是这样的数,组成它们的数字中有斐波那契数。这就是字符串匹配吧。把这些数转化成字符串匹配,也就... 阅读全文
posted @ 2015-03-15 00:13 chenjunjie1994 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 超级神奇有趣题。AC自动机+数位DP。其实,数位DP在处理含有某些数字时特别不好处理,应该把它倒转为求不含有。这道题把数位DP+AC自动机结合起来,实在是很巧妙,把数字变为串来处理,强大!要使用AC自动机来处理数位DP,首先就是要确定哪些状态由当前状态开始是不可以到达的,有哪些是可以到达的。这是显而... 阅读全文
posted @ 2015-03-14 21:23 chenjunjie1994 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 数位DP。一般是利用DFS来求数位DP了,结合了记忆化搜索。设dp[i][j][k]为前i位,并且前i位的数位和mod7为j,前i位的数字的表示数字值mod7。为什么可以这样呢?因为继续DFS下去,必定是得到一个不是7倍数的数的,因而,k这个位只是在确定叶子结点时有用的。然后,可以这样选,求一个一些... 阅读全文
posted @ 2015-03-14 15:37 chenjunjie1994 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 这道题,说实话,细节很多。不过,我没想到,光细节就能搞死人了。。。参考了http://www.cppblog.com/varg-vikernes/archive/2010/03/12/109559.html首先,要把所有牛放到坐标系上来表示。目的,就是求出包含最多点的直角三角形。直角三角形的两条直角... 阅读全文
posted @ 2015-03-14 10:41 chenjunjie1994 阅读(234) 评论(0) 推荐(0) 编辑
摘要: T_T为毛会这样子,我的写就是过不了,。。。。。。。其实这题不难,很容易想到吧,我一开始也想着用枚举这类方法,但复杂度实在不敢想,没想到,真的是用这种方法。。今天学了一个叫树的重心,可以使分治的子树点数大致相等,降低了递归的层次吧。。。嗯,这题的复杂度,怎么的也有o(n^2)以上,而且n=40000... 阅读全文
posted @ 2015-03-12 00:06 chenjunjie1994 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 树的重心,EASY题。树的重心定义为:找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡. 实际上树的重心在树的点分治中有重要的作用,可以避免N^2的极端复杂度(从退化链的一端出发),保证NlogN的复杂度,利用树型dp可以很好地求树的重心... 阅读全文
posted @ 2015-03-11 21:21 chenjunjie1994 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 我做过的最棘手的一道题了,不是因为难,难就是不懂,而是因为明明思路对了,却调了很久程序没发现自己哪错了。。。。。就连样例都不过操,别人的代码::::::::::::::::::::::::::::...。。。突然醒悟了,好像在坐标转换时错了。注意哦,坐标转换的方法。。。坑了我一晚上。。#includ... 阅读全文
posted @ 2015-03-10 22:08 chenjunjie1994 阅读(166) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 38 下一页