自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

学无纸巾

终习

  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除