自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

L.

天将明

  • 博客(32)
  • 收藏
  • 关注

原创 HDOJ-2177 取(2堆)石子游戏

#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <cstdio>#define maxn 1000005using namespace std;int pl[maxn], pr[maxn];double t;void Init(){

2016-03-31 16:29:33 358

原创 HDOJ-1527 取石子游戏(威佐夫博奕)

#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <cstdio>using namespace std;int main(){ //freopen("in.txt", "r", stdin); int a, b; whil

2016-03-31 15:15:40 630

原创 HDOJ-1007 Quoit Design(最接近点问题)

#include <iostream>#include <algorithm>#include <cstring>#include <cmath>#include <vector>#include <cstdio>using namespace std;#define maxn 100005#define INF 1e20struct Point{ double x, y;}

2016-03-27 16:10:22 362

原创 ZZUOJ-10452 "分"数

这道题在常规下要开个三维dp数组dp(i)(j)(k), dp(i)(j)(k) |= dp(i-1)(j-1)(k-num[i]);不过可以用滚动数组#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <

2016-03-26 17:18:30 409

原创 欧拉函数

在数论,对正整数n,欧拉函数是小于n的数中与n互质的数的数目.通式: ,其中p1, p2……pn为x的所有质因数,x是不为0的整数。int euler_phi(int n){ int s = n; for(int i = 2; i * i <= n; i++){ if(n % i == 0){ s = s / i * (i-1);

2016-03-22 19:06:56 209

原创 POJ-1061 青蛙的约会(扩展欧几里德算法)

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>#include <cmath>using namespace std;typedef long long LL;void gcd(LL a, LL b, LL &x, L

2016-03-21 20:09:21 1212 1

原创 POJ-1273 Drainage Ditches(最大流)

裸的最大流问题,照着模板打的.#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>#include <cmath>#include <queue>using namespace std;#define INF 1e7#de

2016-03-20 21:05:32 245

原创 HDOJ-2069 Coin Change(母函数)

这道题比比普通母函数题多了个限制就是总硬币数不能超过100,那么在记录每种方案时,同时要记录构成该种方案的硬币数.#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <climits>#include <vector>using namespa

2016-03-19 20:44:39 305

原创 HDOJ-1671 Phone List(Trie树)

一道字典树的题,这道题在检查每个串时,不仅要判断别的串是否为自己的前缀,还要判断自己是否为其他串的前缀.#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>#include <cstdlib>u

2016-03-18 13:51:29 197

原创 HDOJ-1521 排列组合(母函数)

一道裸的指数型母函数题.#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>using namespace std;double c1[15], c2[15];int num[15], d[1

2016-03-17 22:37:08 239

原创 HDOJ-2838 Cow Sorting

一道逆序数的题。要用两个树状数组来维护,一个记录牛的数目,另一个记录牛的脾气值.一定要注意数据溢出.#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;typedef long long

2016-03-16 17:07:08 232

原创 HDOJ-2689 Sort it

这道题就是求逆序数。用树状数组来求解。输入一个数求此时关于这个点的逆序数 = i- Query(a).累加求和.#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;#define maxn

2016-03-16 16:28:10 209

原创 HDOJ-1556 Color the ball

这道题可以用树状数组解决,用到了区间更新,单点求值.设一个数组a(i)表示第i个球被染色的次数,在设一个数组p(i)表示第i个气球染色次数与第i-1个气球染色次数之差。如果要把a到b的气球染一次,则只需p[a]++,p[b+1]–,并且会发现a[i] = b[1] + b[2] +…b[i].此时就可以用树状数组来进行求和.#include <iostream>#include <cstdio>

2016-03-16 14:46:53 232

原创 HDOJ-1066 敌兵布阵

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;#define maxn 50005int c[maxn], n;char ch[100];void Update(int m, i

2016-03-15 18:51:55 267

原创 HDOJ-2594 Simpsons’ Hidden Talents(KMP)

#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>#include <string>using namespace std;#define maxn 50005int next1[maxn<<1];void KMP(string &s){ ne

2016-03-13 20:02:49 226

原创 HDOJ-1874 畅通工程续(Floyed)

多源最短路径问题#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <climits>using namespace std;#define maxn 205int Graph[maxn][maxn];int main(){ //f

2016-03-13 16:29:06 249

原创 HDOJ-2544 最短路(Dijkstra)

单源最短路径问题(感觉和Prime算法很像)#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <cmath>#include <climits>using namespace std;#define maxn 105int Graph[maxn][maxn];int d

2016-03-13 14:24:05 221

原创 HDOJ-1233 还是畅通工程(最小生成树)

Prime算法:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>using namespace std;#define maxn 105int Graph[maxn][maxn];int

2016-03-13 11:58:41 244

原创 HDOJ-2110 Crisis of HDU(母函数)

#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>using namespace std;#define maxn 100int p[maxn], m[maxn], c1[maxn*maxn]

2016-03-10 22:21:55 292

原创 HDOJ-1398 Square Coins(母函数)

母函数为 g(x) = (1+x+x^2+x^3…) * (1+x^4+x^8….) * (1+x^9+x^18…)…..最后求出x^n的系数即可#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;#define maxn 300int c1[maxn],

2016-03-10 14:46:15 241

原创 HDOJ-1394 Minimum Inversion Number

这道题先求出整个数列(长度为n)的逆序对个数,方法是对于数m,累加线段树中(m, n-1)中已插入数的个数,再更新…..求出的逆序对个数为sum.在循环数列,把每个数调到最后面,假设数为M,则此时sum += n-1-2*m;#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using names

2016-03-09 15:30:14 192

原创 POJ-2406 Power Strings(KMP)

#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;#define maxn 1000005char ch[maxn];int next[maxn];void kmp(char *ch, int len){ next[0] = -1; i

2016-03-08 21:03:29 170

原创 POJ-2752 Seek the Name, Seek the Fame

一道简单的KMP算法的题,只要了解KMP的原理就能解出来#include <iostream>#include <cstdio>#include <algorithm>using namespace std;#define maxn 400005int next[maxn];int ans[maxn];void kmp(string &s){ next[0] = -1; i

2016-03-08 19:53:40 165

原创 HDOJ-2795 Billboard

这道题别被h <= 1*10^9骗了,其实h<=200000,用1-h构造线段树,每个节点存储其中每行能存储的宽度的最大值.#include <iostream>#include <cstdio>#include <algorithm>using namespace std;#define maxn 200005struct Str{ int l, r, s;}str[maxn<<2

2016-03-07 20:27:47 217

原创 HDOJ-1754 I Hate It

#include <iostream>#include <cstdio>#include <algorithm>using namespace std;#define maxn 200005struct Stu{ int l, r, s;}str[maxn*3];int num[maxn];void Build(int n, int l, int r){ str[n].l

2016-03-07 18:56:49 199

原创 HDOJ-1166 敌兵布阵

这道题数据量很大,用朴素的方法做每个操作的时间复杂度为o(n)会超时,如果用线段树则每个操作为o(logn).#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>using namespace s

2016-03-07 14:23:16 209

原创 POJ-1230 Pass-Muraille

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-03-05 20:26:15 239

原创 POJ-1323 Game Prediction

#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>using namespace std;int num[55];int main(){ //freopen("in.txt", "r

2016-03-05 11:01:14 222

原创 HDOJ-1789 Doing Homework again

先按分数对作业进行降序,在遍历每个作业,求出它可以完成的最迟时间,记下,若不能完成,则累加分数.#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>#include <set>using namespace std;stru

2016-03-04 16:44:57 177

原创 ZOJ-2488 Rotten Ropes

对每个绳子(承受力n)找出比它承受力大的绳子的个数m,则棍子重量 = n * m, 求出最大值即可.#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <vector>#include <climits>using namespace std;int num[1005];in

2016-03-03 21:32:08 356

原创 ZOJ-2376 Ants

1.求最短时间就是对每个蚂蚁,求出它离两个端点的距离,取较小的一个,算时间,然后再求出各个蚂蚁时间最大值。 2.求最长时间,和1相反,取距离两个端点距离最大的一个,算时间。其实两个蚂蚁相遇后往反方向走,可以看作两个蚂蚁穿透对方继续前进.#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#inc

2016-03-03 20:54:46 250

原创 HDOJ-1503 Advanced Fruits

这道题是最长公共子序列的变形。 状态转移方程:1.若s1(i) == s2(j),那么dp(i)(j) = dp(i-1)(j-1) + 1; 2.若s1(i) != s2(j), 那么dp(i)(j) = min(dp(i-1)(j), dp(i)(j-1)) + 1;#include <iostream>#include <cstdio>#

2016-03-01 22:44:22 195

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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