自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

九野的博客

新窝:cygmasot.com

  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 冒泡排序(优化版)的比较次数和交换数字次数 逆序数+树状数组

题目链接:https://www.contesthunter.org/contest/%E5%85%83%E6%97%A6%E6%AC%A2%E4%B9%90%E8%B5%9B/%E8%BE%9B%E5%B7%B4%E6%9D%A5%E6%8E%92%E5%BA%8F 思路:要求冒泡排序优化以后的趟数和交换次数交换次数等于逆序数因为冒泡排序是临对换排序, 临对换一次减少一个

2013-12-29 23:13:05 5222

原创 优先队列 小的先出队

#include#includeusing namespace std;priority_queue, greater > q;

2013-12-26 13:31:27 2601

原创 Codeforce 375B 给定5000的布尔矩阵 求最大面积的全1子矩阵

题目链接:http://codeforces.com/problemset/problem/375/Bn^2的复杂度#include#include#include#include#define N 5005using namespace std;int sum[N][N];//sum[i][j]表示 i列到j列都为1时 存在多少这样的行int a[N][N];

2013-12-25 19:21:26 1854

原创 FOJ 2141 随机法 求边数至少为原图一半的同构子图 且子图为二分图

题目链接:http://acm.fzu.edu.cn/problem.php?pid=2141题意:给定n个点 m条无向边的无向图 求一个 至少包含m条边的同构子图 且是二分图输出二分图的 X点集 和 Y点集 思路:非正解我们可以先随机出一组解,再判断这组解是否可行(估测可行解空间较大)#include#include#include#include

2013-12-23 20:58:00 2440

原创 FOJ 2150 在二维草地上点火烧完所有草最少时间 BFS+图论+容斥

题意:给定一个平面图 . 为空地(不着火) # 为草开始可以选1-2个草堆点燃,每隔一秒会把上下左右的草引燃(开始时间为0秒)问把所有草烧光的最少时间  #include#include#include#include#include#include#includeusing namespace std;#define N 12int f

2013-12-22 23:03:20 2360

原创 2013福建ACM省赛10题题解

2013福建ACM省赛10题题解 Problem G Easy Game Foj 2146Problem H A-B Game Foj 2147Problem B Sub-Bipartite Graph Foj 2141Problem C Center of treeFoj 2142Problem D Board Game Foj 2143Problem F Rock-Paper-Scissors GameFoj 2145Problem I Moon Game Foj2148Problem

2013-12-22 20:49:14 5200 1

原创 FOJ 2148 给定的二维坐标 能构成的凸四边形数

题意:求给定的二维坐标能构成的凸四边形数思路:我们可以得到一个结论:当且仅当四边形为凸四边形时,对角线能相交 -> 若四边形存在线段相交就是凸四边形 #include#include#include#include#includeusing namespace std;typedef long long ll;#define ST 1001

2013-12-22 20:46:11 2257

原创 NOJ 1526 最长等差子序列

题目链接:http://ac.nbutoj.com/Problem/view.xhtml?id=1526思路:把所有公差离散出来(理论上公差个数应该有(n+1)*n/2 , 不过实际最多2000个)dp[i][j] 表示 公差为j ,以i下标为结尾的子序列 最优解 因为dp只需要考虑这次和上一次,所以用滚动数组优化内存(即公差是N*N,也可以开出来)#include#i

2013-12-22 01:41:55 3251

原创 Codeforce 364E 二维分治 包含K个1的 子矩阵个数

题目链接:http://codeforces.com/problemset/problem/364/E #include#include#include#include#include#define N 2550#define Mid(x,y) ((x+y)>>1)using namespace std;int n, m, K;__int64 ans

2013-12-21 14:54:09 3301

原创 Codeforce 337D 容斥+树形dp

题意:给定n个点的树 m个点中有小怪物 距离lm个点 表示该点有小怪物n-1表示树有一个u点存在大怪物,会把距离u点 告诉那些v点, 问所有可能的u点个数即:问树中 距离M点集  思路: #include #include #include #include #include #include #include #include

2013-12-21 14:01:39 1774

原创 codeforce 374A 网格图最短路走法

题意:给定 n m 大的网格图起点 s.x s.ya b表示每次移动时 x y 的变化 (即:step[0][0] = -a; step[0][1] = -b;step[1][0] = +a; step[1][1] = -b;step[2][0] = -a; step[2][1] = +b;step[3][0] = +a; step[3][1] = +b;)问:

2013-12-19 10:28:56 2581

原创 SCU 4312 分段 回答[1,n]的素数个数

题目链接:http://cstest.scu.edu.cn/soj/problem.action?id=4312分段过: #include#include#includeint ans[10011]={0,1229,2262,3245,4203,5133,6057,6936,7837,8714,9592,10453,11301,12159,13010,13849,14684

2013-12-18 01:19:01 11904

原创 分段法

求{1,2, N} 的素数个数给定 N (1当询问数比较小时可以用 分段法做 本地处理出[1,10000], [10001, 20000], [xxx, 10^8] //每个区间10000长 每个询问都落在某一区间上,暴力算一下该区间的答案只需10000次, 复杂度 = 分段区间长度* 询问数 分段还可应用于数位dp和一些找规律的题目上。 分段例题:http

2013-12-18 00:18:00 3432

原创 HDU 1867 KMP 求最大尾部重叠

题意:给定2个字符串,a-b 或 b-a 尾部相同部分只输出一次求长度最小的字符串(长度相同则字典序最小)#include#include#include#includeusing namespace std;#define N 200050int f1[N], f2[N];char s1[N], s2[N];void getFail(i

2013-12-16 19:54:04 1593

原创 HDU3068 URAL1297 Manacher求最长回文子串

#include#include#includeusing namespace std;#define N 225000//dp[i] 表示以i点为中心向右最大回文长度//则答案就是max(dp[i]) -1int dp[N];char P[N], T[N];//在每一个字符间插入# 这样得到的回文串长度一定是奇数(包含#)int Have_P(){

2013-12-16 17:04:30 1799

原创 HDU 2087 KMP裸题

#include#include#define N 1005int f[N], ans;char P[N], T[N];void getFail(int len){ int i, j; j = f[0] = -1; i = 0; while(i < len) { while(j!=-1 && P[i]!=P[j])j = f[j]; i++,

2013-12-16 14:46:56 1730

原创 splay模版

#include #include #include using std::queue;const int N = 100010;struct node { node *c[2],*fa; int val; int sz; int belong; void setc(int d,node *s) { c[d

2013-12-15 19:35:25 1614

原创 Spoj 375 QTREE1 树链剖分裸题

题目链接:http://www.spoj.com/problems/QTREE/题意:T个测试案例n个点的树下面n-1条边和边权 change u v 把第u-th给出的边 的边权改为vquery 询问路径 [u, v] 间最大的边权  #include#include#include#include#include#define N 1

2013-12-14 21:20:03 1811 1

原创 codeforce 369E 离线树状数组+左端点排序右端点维护 一维下 求点集覆盖线段数量

题意:在一维的x轴上给定n个线段, m个询问每个询问 cut个点, 问该点集覆盖的线段数量 思路:ans[i] 表示 第 i 个询问的答案,设 ans[i] = n, 再减去 不在点集中的线段 对于所有线段[ l, r ] ,按线段左端点 l  递减排序,(相同时 r 大则大) 排序后:对于线段 i , j ( i【1】 i.l >= j.l (排序的第

2013-12-12 00:46:47 2057

原创 codeforce 342E 树链剖分 || 分块

#include#include#include#includeusing namespace std;#define yt eg[i].to#define lson l,m,a[rt].ls#define rson m+1,r,a[rt].rs#define pb push_backconst int N=100005,inf=1000001;int cn

2013-12-11 22:34:40 2374

原创 HDU 4612 桥数-缩点后树的直径

题意:给定n个点 m条边的 无向连通图问:桥数-缩点后树的直径憋了好久终于1Y了#pragma comment(linker, "/STACK:1024000000,1024000000")#include#include#include#include#include#include#includeusing namespace std;#

2013-12-03 20:56:56 1842 2

原创 nyist 737 区间DP-石子合并 dfs

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=737看了题解才有思路:http://blog.csdn.net/u012350533/article/details/17054711点个赞~#include#include#include#include#includeusing namespace st

2013-12-02 16:33:47 1811 1

九野的模版3.15.10.pdf

http://blog.csdn.net/acmmmm

2015-12-19

空空如也

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

TA关注的人

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