- 博客(46)
- 收藏
- 关注
原创 Codeforces Round #263 (Div. 2)
A.Vasya and Socks题意:有n个袜子,每天穿一双晚上扔掉,每m天再买一双。求一共能连续穿多少天?题解:给n分成 n/m*m和n-n/m*m两部分递归计算。B.Little Dima and Equation题意:x = b·s(x)a + c,s(x)是x的各位数字和。输入a、b、c,求使等式成立的X。题解:枚举每个S(x),求对应的x。x的范围是0-81,不
2014-08-27 17:30:13
560
原创 hdu 3499 Flight(spfa+反向图)
题目:hdu 3499题意:思路:代码:#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;#define For(i,a) for(
2014-08-14 16:42:09
532
原创 Codeforces Round #260 (Div. 2) E. Civilization
题目:Codeforces Round #260 (Div. 2) E. Civilization题意:思路:代码:#include #include #include #include #include #include #include #include #include #include #include using namespace std;#de
2014-08-13 22:41:27
482
原创 poj3468(树状数组:区间修改 区间求和)
题目:题意:代码:/* 树状数组:区间修改 区间求和 10 51 2 3 4 5 6 7 8 9 10Q 4 4Q 1 10Q 2 4C 3 6 3Q 2 4输入n个数,m次查询;Q p q 输出 a[p] + …… + a[q] = ?C p q v a[p] += v, a[p+1]+=v, ……, a[q] += v; 解法:维护
2014-08-03 22:27:23
745
原创 c++ 大数类
/* acdream : 1168 题意:给出无限长的序列1,1,3,1,3,5,7,1,3,5,7,9,11,13,15,1,3,5,7,9...,问对于序列的前N个数,所有的连续上升子序列的和是多少.推公式 套大数类。 PS: 大数的模板是网上的,一开始各种wa后来群里面的大神们说减法有问题,改过后A掉的。 */ #include #include #include #in
2014-08-02 11:42:54
985
原创 Dancing Links x
struct DLX{ int n,m,size; int U[maxnode],D[maxnode],R[maxnode],L[maxnode],Row[maxnode],Col[maxnode]; int H[MaxN],S[MaxN]; int ands,ans[MaxN]; void init(int _n,int _m) {
2014-07-27 16:25:38
604
原创 并查集 + Floyd
题目:Codeforces Round #234 D. Dima and Bacteria题目链接:http://codeforces.com/contest/400/problem/D题目意思:有n个病菌分为k个种类,n个病菌编号为1-n,k个种类编号为1-K。把能量从一个细菌运送到另一个细菌需要消耗代价x。问题有两问:1、同一种类任意两个细菌运送能量消耗是否为零。2、不同种类之间
2014-03-13 22:47:26
640
原创 第一道 状态压缩dp
题目:Codeforces Round #235 D. Roman and Numbers题目链接:http://codeforces.com/contest/401/problem/D题目意思:有两个数n和m,问由n的组成数字组成的,能被m整出的数的个数。解题思路:第一次接触状态压缩dp,以前只是听过没看过。看的大神们的思路和大神们的代码。 f[ma
2014-03-12 23:23:07
627
原创 topcoder 配置
codeprocessor.EntryPointfileedit.EntryPointtangentz.TZTester$BEGINCUT$/*$PROBLEMDESC$*/$ENDCUT$#line $NEXTLINENUMBER$ "$FILENAME$"#include #include #include #include #inclu
2014-03-03 17:12:11
730
原创 vimrc
vimrc /etc/vim/vimrcruntime! debian.vimif has("syntax") syntax onendifif filereadable("/etc/vim/vimrc.local") source /etc/vim/vimrc.localendif"设置默认目录cd /home/trylen/code"传说中的去掉边框用下
2014-03-03 17:02:43
625
原创 poj 2774/poj 1743/poj 3261后缀数组应用
最近看的后缀数组,做了几个应用。 1、poj 2774 求两个字符串的最长公共子串。 思路:将第二个串接到第一个串的后面,第一个串的结尾和第二个串的结尾分别用一个不会出现的字符标记,第二个串的结尾标记值要小。 用大牛的模板求出sa,height,rank数组。然后去遍历数组求前面的和后面的最大公共前缀。判定的时候注意判定条件,我在判定的时候
2013-08-25 11:03:55
563
原创 后缀数组
int sa[N+10],c[N+10],wa[N+10],wb[N+10];bool cmp(int *y,int a,int b,int l){ return y[a]==y[b]&&y[a+l]==y[b+l];}void suffix(string r){ int i,j,p,*rank=wa,*y=wb,n=r.length(),m=255; for(i=0;i<m;i++)
2013-08-23 16:15:25
608
原创 回文串O(n)算法 Manacher算法
网上说求回文串有三种算法,lcs的n^2算法,后缀数组n*log(n),manacher的时间复杂度是O(n)的。我以前只会n^2的算法,刚学的这个算法。void manacher(){ int id,mx=0,len; len=strlen(cstr); for(int i=1;i<len;i++){ if(mx>i) p[i]=min(p[id*2-i],mx-i);
2013-08-17 15:39:32
744
原创 hdu 1286(欧拉函数 phi)
题目: 找新朋友Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1882 Accepted Submission(s): 903 Problem
2013-05-19 22:07:08
713
原创 斯特灵数 hdu 3625
这是个斯特灵数的问题,跟卡塔兰数一样,根本没听过……但是感觉挺实用的……斯特灵数一共分两类,这个是第一类……维基百科:点击打开链接##########################################################################################################第一类Stirling数是有正负的,其
2013-05-19 21:54:45
754
原创 斐波那契 hdu 1568
题目: 给你一个整数n,求出第n个斐波那契数的前四位。 题意很明确,就是不会做,在网上百度的别人代码知道用斐波那契数列通项公式求的。 通项公式为: 对两边求log:log(an)=log(1/√5)+n*log((1+√5)/2)+log(1-((1-√5)/(1+√5))^n); 第三项无限小,可以直接
2013-05-19 21:50:17
705
原创 BFS
纪念我的第一篇bfs,早就听说c++里面的标准包比较好……一直木有用过,这次用了里面的队列,队列的用法也就依托这个学习的……#include#include#include#include#include#include#includeusing namespace std;struct str{ int x;}a[10];int main(){ s
2013-05-19 19:16:11
560
原创 卡塔兰数
这几天做hdu的ACM steps,遇到了好几个卡塔兰数。卡塔兰数是组合数学中一个常在各种计数问题中出现的数列。以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡塔兰数的一般项公式为 卡特兰数前几项为 :1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012……怎么来的我也不知道,好几个题
2013-05-19 17:55:14
894
原创 最大子矩阵 动态规划DP
最大和时间限制:1000 ms | 内存限制:65535 KB难度:5描述给定一个由整数组成二维矩阵(r*c),现在需要找出它的一个子矩阵,使得这个子矩阵内的所有元素之和最大,并把这个子矩阵称为最大子矩阵。 例子:0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 其最大子矩阵为:
2013-05-01 14:49:13
662
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人