- 博客(24)
- 收藏
- 关注
原创 【dp+离散化+线段树优化】Paint
题意: 求不想交的区间集合,没有覆盖到的范围最小#include using namespace std;typedef long long LL;const int N = 4e5+10;const int M = 26;const int INF = 0x3f3f3f3f;vector xs;inline int getid(LL x){return lower_bound
2017-08-25 15:12:30 313
原创 【Ac自动机 查询是否存在一个字典中的字符串】hihocoder 1036 Trie图
Link:http://hihocoder.com/problemset/problem/1036?sid=1157591// 需要优化#include using namespace std;const int N = 1000110;const int M = 26;const int root = 0;int n,len[N];struct Aho{ st
2017-08-23 19:23:58 307
原创 【数位dp 求满足的值和】hihocoder 1033 交错和
Link:http://hihocoder.com/problemset/problem/1033#includeusing namespace std;typedef long long LL;const LL mod = 1e9+7;struct Node{ LL n,s;}dp[20][10][2][405];LL power[20];int bits[20];
2017-08-23 16:55:08 226
原创 【Tire 求字典出现的前缀个数】hihocoder 1014 Trie树
Link:http://hihocoder.com/problemset/problem/1014#includeusing namespace std;typedef long long LL;const int N = 1e5+5;const int M = 26;struct Tire{ struct Node{ int nex[M];
2017-08-21 14:19:19 262
原创 【分治 求最近点对】hdu 1007 Quoit Design
Link:http://acm.split.hdu.edu.cn/showproblem.php?pid=1007#include using namespace std;/*hdu 1007题意:给出物品在平面上的点坐标,求一个环不能一次套到两的最大半径,即最近点对距离的一半。题解:先以x排序,用分治将问题分成左边部分的最近点对,和左边的最近点对,左边右边各一个点的最近点对(在算
2017-08-19 10:08:43 302
原创 【树状数组 单点修改,区间求值】hdu 1166 敌兵布阵
Link:http://acm.hdu.edu.cn/showproblem.php?pid=1166#include using namespace std;const int N = 5e4+5;char s[10];int tree[N],n;void add(int x,int num){ while(x<=n){ tree[x]+=num;
2017-08-15 10:20:36 211
原创 【主席树 求区间第k大】poj 2104 K-th Number
Link:http://poj.org/problem?id=2104离散化+保存历史版本的线段树,线段树结点代表的意思是区间(值域)数的个数#include #include #include using namespace std;typedef long long LL;//#pragma comment(linker, "/STACK:102400000,102400
2017-08-14 14:48:23 246
原创 【尺取】hdu 6103 Kirinriki
Link:http://acm.split.hdu.edu.cn/showproblem.php?pid=6103#include using namespace std;const int N = 5005;char s[N];int n,len;int Ma(int x){ int ans = 0,res = 0; int l = 1,r = 1; wh
2017-08-12 10:22:56 193
原创 【Ac自动机+矩阵加速】poj 2778 DNA Sequence
Link:http://poj.org/problem?id=2778字典树的每个节点作为一个状态,矩阵记录i点走一步的可行的状态转移的方法数,用矩阵快速幂计算所有可行的方法数。//#include #include #include #include #include using namespace std;typedef long long LL;const int
2017-08-09 16:53:33 367
原创 【Ac自动机】hdu 5880 Family View
Link:http://acm.split.hdu.edu.cn/showproblem.php?pid=5880#include using namespace std;typedef long long LL;const int N = 1000110;int len[N];int res[N];struct Aho{ struct Node{
2017-08-09 15:16:15 286
原创 【dp】codeforces 837D Round Subset
Link:http://codeforces.com/problemset/problem/838/A#include using namespace std;typedef long long LL;/*codeforces 837D Round Subset题意:找出一个包含k个数的子集,使k个数相乘末尾的0最多。题解:dp[i][j] 代表取i个有j个2的最大的5的个数
2017-08-09 09:59:28 318
原创 【树形dp】poj 1947 Rebuilding Roads
Link:http://poj.org/problem?id=1947#include #include #include #include using namespace std;/*Anniversary party POJ - 2342题意:有n个点组成一棵树,问至少要删除多少条边才能获得一棵有p个结点的子树?题解:dp[i][j] 代表以i为根节点,有j个节点的最
2017-08-07 21:47:03 250
原创 【树形dp】POJ - 2342 Anniversary party
Link:http://poj.org/problem?id=2342#include #include #include using namespace std;/*Anniversary party POJ - 2342题意:某公司要举办一次晚会,但是为了使得晚会的气氛更加活跃,每个参加晚会的人都不希望在晚会中见到他的直接上司,现在已知每个人的活跃指数和上司关系(当然不
2017-08-07 20:05:17 236
原创 【暴力】codeforces 838A Binary Blocks
Link:http://codeforces.com/problemset/problem/838/A#include using namespace std;/*838A Binary Blocks题意:给出一个矩阵,值为0或1,可以将矩阵分成多个k*k的小矩阵,小矩阵超出界限的补0,将每个小矩阵都变成一样的值,问需要改变最小的次数。题解:当小矩阵k=2时,明显比k为2的倍数的
2017-08-07 18:07:21 287
原创 【dfs】poj 1020 Anniversary Cake
Link:http://poj.org/problem?id=1020#include #include using namespace std;/*poj 1020题意:问是否能将n个小正方形塞满,边长为s的大长方形题解:dfs剪枝,放法:1.先放满底层,保证每层不留空。2.先放大的。不需要记每层的放了的具体位置,只需记放了几个,因为我们从大到小放不会出现有正方形穿
2017-08-07 17:02:54 276
原创 【旋转卡壳】poj 2187 Beauty Contest
Link:poj.org/problem?id=2187旋转卡壳(求平面最远对(O(N)))先求出其凸包,找凸包所有边的与其他点最大三角形,其点即为边的最远点,再计算边两端点的与边的最远点距离,取下最大距离。当我们逆时针枚举边的时候,最远点的变化也是逆时针的,这样就可以不用从头计算最远点,而可以紧接着上一次的最远点继续计算。于是我们得到了O(n)的算法。#inc
2017-08-07 10:48:18 256
原创 【dp】51nod 1052 最大M子段和
Link:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1052#include using namespace std;typedef long long LL;const int N = 5e3+5;const LL INF = 0x3f3f3f3f;LL a[N];LL dp[N],pre[N]
2017-08-06 10:49:46 278
原创 【dp】51nod 1154 回文串划分
Link:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1154#include using namespace std;/*题意:有一个字符串S,求S最少可以被划分为多少个回文串。题解:暴力预处理出每位能到达范围,dp可以由当前处理位置选择多长回文串转移。*/const int N = 5005
2017-08-05 22:28:53 373
原创 【凸包 Graham法 极角排序】poj 2007 Scrambled Polygon
Link:http://poj.org/problem?id=2007Graham法求凸包(O(Nlog2N))/* 极角排序 */#include #include #include using namespace std;const int N = 100;const double eps = 1e-6;struct Point{ double x,y
2017-08-05 20:17:47 293
原创 【凸包 Graham法 点集排序】poj 1113 Wall
Link:http://poj.org/problem?id=1113 卷包裹法求凸包(看数据有多少点在凸包上,最坏复杂度为(O(N*N))1.优先最下面的,若y优先度相同,x选择最左边的,为凸包的第一个点。2.以水平向右为初始的射线方向,逆时针旋转,选择第一个遇到射线的点,为凸包的第二点。3.以刚刚找到的点为基准点,刚刚旋转到的方向为基准方向,继续旋转,找到凸包的下一个点,持
2017-08-05 19:18:38 442
原创 【Ac自动机】Detect the Virus ZOJ - 3430
Link:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3430#include using namespace std;/*题意:给出n个编码后的模板串,然后有M次询问,每次询问输入一个编码后的文本串,问在编码前,有多少个模板串在文本串中出现过。*/const int N = 55000;cons
2017-08-02 20:55:00 303
原创 【二分】460C Present
Link:http://codeforces.com/contest/460/problem/C#include using namespace std;/*题意:给出N朵花的初始的高度,从左到右排列,最多浇水m天,每天只能浇一次,每次可以使连续的w朵花的高度增加单位长度1,问最后m天浇完水后最矮的花的高度最高是达到多少。题解:二分最小的花的高度,二分最小花的高度对答案的
2017-08-02 12:12:27 416
原创 【回文串】835D Palindromic characteristics
Link:http://codeforces.com/problemset/problem/835/D#include using namespace std;const int N = 5e3+5;char s[N];int n;int ans[N],ma[N],mb[N];int Ma(int x){ int cnt = 0; while(x-cnt>=0
2017-08-01 21:49:23 268
原创 【Kmp】Blue Jeans POJ - 3080
Link:http://poj.org/problem?id=3080//#include #include #include #include #include using namespace std;typedef long long LL;/*题意:找出n个串中最长的公共串,并且要求字典序最大题解:枚举第一字符串的子串*/const int N = 66;i
2017-08-01 20:09:06 199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人