自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(203)
  • 收藏
  • 关注

原创 poj-2485-最小生成树prim算法模板

#include<cstdio>#include<cstring>int dis[505][505],t,n,sym[1000];void init(){ memset(sym,0,sizeof(sym));}int prim(){ int ans = -1; for(int i=0;i<n;i++) { int minn = 9999

2016-01-11 15:27:20 398

原创 poj-1062-昂贵的聘礼

1.建图 每个人物是一个点,起点是酋长,求到每个点的最短距离中的最小值 2.注意地位高低互相不能互相交易 坑点 3枚举区间 重点#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#define maxx 999999999;using namespace std;int dis[200][200],v[1

2016-01-10 22:13:37 313

原创 poj-1125-Stockbroker Grapevine spfa模板

本模板无判断负环部分, 判断负环方法记录每个点压队列次数 若有一大于V则存在负环#include<cstdio>#include<queue>#include<algorithm>#include<iostream>#include<cstring>#define maxx 999999999using namespace std;struct edge{ int x,y,dis

2016-01-10 22:07:43 397

原创 poj-2240- Arbitrage bellmanfoyd 模板

主要用于判断负环#include<cstdio>#include<cstring>struct edge{ int x,y; double rate;}a[50000];int n,m,l;double v[1000],r;char s[100][500],c[500],b[500];int bellmanfoyd(int star){ for(int i=0;i

2016-01-10 22:04:37 365

原创 poj-3258-二分

所谓二分感觉用的很多,题比较难看出二分的意思。 总之让求最极限的解比如最大最小解时数据量太大时考虑首先想到二分啊#include<cstdio>#include<cmath>#include<cstring>#include<queue>#include<stack>#include<set>#include<map>#include<cstdlib>#include<iostre

2015-12-04 23:00:10 384

原创 poj-3083-烦人复杂搜索+bfs,dfs模板

仅仅记录,本题无意义仅仅是烦人,当以后模板吧 ps:其实可以不写这么多的从终点沿墙往右走跟从起点沿墙往左走是一个意思的。。。AC后想通的。。。哎思路还是太窄。 求条件是否成立用dfs较好,求最优解bfs最好。#include<cstdio>#include<queue>using namespace std;char mp[50][50];struct node{ int x,y

2015-12-04 22:48:44 413

原创 poj-1265-area几何水题+pick定理模板

知识点 1.s= 边上点的数量/2+内点数量-1; 2.边上点的求法 am = gcd(x1-x2,y1-y2); 3.面积求法 凸包或有凹点都用叉积公式,不能化成一个个三角形求。#include<cmath>#include<cstring>#include<queue>#include<stack>#include<set>#in

2015-12-04 22:39:17 525

原创 扩展欧几里得模板 poj-C Looooops

poj撸了三个专题了虽然前几个很难但还可以自己想出来,到数论这都是坎,只能看题解慢慢学了。。。 总结下知识点 1 欧几里得定理 GCD(a,b) = GCD(b,a%b) 代码实现渣渣我都能毫不思考的打出来了。 2 ax+by = gcd(a,b)有解 同理可推出 ax+by=c有解的充要条件是c%gcd(a,b)=0; ax+by=gcd(a,b)通解为x = x0+b/gc

2015-11-22 22:36:25 511

原创 POJ 1845-Sumdiv 数论 +快速幂&&筛素&&分解质因数&&求因数之和的模板

poj计划的第一个坎,非常经典的一道题在此记录一下以后总结 知识点: 1 (a+b)%c = (a%c+b%c)%c (a*b)%c = ((a%c)*(b%c))%c2 计算a^n 要用快速幂((logn)渣渣我都能迅速打出来)3 任何数都能分解成几个质因数相乘4 求一个数的所有因数之和 = (a^0+a^1+a^2+a^3+….a^n) * ( a1^0+a1^1+a1^

2015-11-20 23:35:55 1230 2

原创 并查集模板

//并查集模板//11.11.2015 by blacktea >>>>>_<<<<<// this version isn't the best I will change it time by time#include<cstdio>#include<cstring>#include<cmath>#include<queue>#include<stack>#include<m

2015-11-11 21:00:09 974

原创 男人八题coins

DP 不算正式的多重背包但用到了思想,用数组标记能够得到的价值,可以水过去,物品可以用二进制优化加快效率;不断更新就行了。#include<cstdio>#include<cstring>#include<queue>#include<stack>#include<set>#include<cstdlib>using namespace std;int i,j,k,va[200],am

2015-10-25 22:56:39 443

原创 hdoj-GT and numbers

bc60我迄今为止最好的排名——98因为大牛都打区域赛了。。。 这题当时挂了 坑点 1 2的63 用unsigned long long 2 n是不断变化的! 思路 把n的质因数化出来并分别记录他们的数量; every个质因数计算 n必须乘他的质因数到m的次数求出来,注意n在不断变化质因数的数量在不断变化 具体次数=s (s取最大使质因数*2的s次方小于m

2015-10-18 23:25:19 344

原创 hdoj2050折线分割平面

捋一下思路, 具体思想是当每加条线与其他已加线都相交时满足平面最多 1,当n条直线相交时的状态比n-1条相交直线多了n-1条多了n-1个交点,增加了n个平面(为什么?画图猜出来的)所以fn = fn-1 +n; 2,当每次加一对平行直线,同理上式double就行了;fn=fn-1 +2*(2*(n-1)+1)此时n为第几对而不是第几条, 3将平行直线一侧相交,就是这种情况了,相交一侧面减1,

2015-10-18 23:13:13 475

原创 hdu2066最短路

过几天就要去打区域赛了,虽然本人很渣但上一届还是把机会给我了,我已经感觉到了没人看好我,不说别的了,将来一定要用实力教育他们,这次我负责图论专题,先来第一发,一定要争气啊 —模版题不解释了#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <map>#include <stack>#

2015-10-12 20:02:25 428

原创 ahu-746-梯田二分+bfs

1数据水2二分查找加速#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <queue>#include <iostream>#include <algorithm>using namespace std;int i,j,k,t,map[110][110],color[110][1

2015-09-25 17:53:06 436

原创 ahu-595-撒哈拉大冒险

坑点:输入不能一个个字符输入,跟hd不一样数据坑 思路 循环 x=(x%n+n)%n+搜索队列 交了我的和硕神的代码,200ms和80ms,只是因为我的是用queue库函数,硕神手撸stack,所以说亲手撸的要节省很多时间。 第一道无限循环的题学会很多。#include <cstdio>#include <cmath>#include <cstring>#include <cstdli

2015-09-24 22:40:20 469

原创 ahu 395 快速矩阵幂初学 + 矩阵快速幂模板

#include <cstdio>#include <string>#include <cmath>#include <iostream>using namespace std;const long long M = 10003;const long long N = 3;long long t,b,c=0,f1,f2;struct Node //矩阵{ long lon

2015-09-20 11:21:23 340

原创 快速矩阵幂模板

fn = b*fn-1 +a*fn-2 +c#include <cstdio>#include <string>#include <cmath>#include <iostream>using namespace std;const long long M = 1000007;const long long N = 3;long long t,b,c,f1,f2;struct Nod

2015-09-20 11:18:22 332

原创 ahu - 572

组合数学水题~~~#include <cstdio>#include <cstring>#include <cmath>#include <cstdlib>#include <queue>#include <stack>#include <set>#include <map>#include <time.h>//-----------------------分割线呵呵--------

2015-09-20 09:48:27 282

原创 ahu-497-最长起伏子序列

最长递增序列的变形dp,我又开始水了。。。。#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>#include<stack>#include<set>#include<queue>#include<map>#include<iostream>#include<algorithm>using names

2015-09-06 22:53:47 384

原创 hdu2199

他么的精度!!!!!#include<stdio.h>#include<string.h>#include<cmath>#include<cstdlib>#include<set>#include<queue>#include<algorithm>#include<iostream>using namespace std;int i,j,k,t;double n,l,r; do

2015-09-05 14:18:43 392

原创 二分模板

int binsearch(int *t,int k,int n){//t为数组,k是要查找的数,n为长度,此为升序 int low = 1,high = n,mid; while(low<=high) { mid = (low+high)/2; if(k == t[mid]) return mid; else

2015-09-05 12:55:00 293

原创 SPFA模板

int used[Maxn],outqueue[Maxn],head[Maxn],low[Maxn],n,m;struct Edge{ int to,w,next;}edge[Maxm];bool SPFA (int start){ queue a; used[start] = 1; low[start] = 0; a.push(sta

2015-09-05 12:53:44 281

原创 ahu727美妙音乐

dp递推出第n个音符以1-m种音符结尾的最大值,然后输出这m个数的最大值,239ms,看前辈大牛14ms过的,不明觉厉。。#include<stdio.h>#include<string.h>#include<cmath>#include<cstdlib>#include<set>#include<queue>using namespace std;int n,m,i,j,k,t,x;

2015-09-05 10:06:32 802 1

原创 floyd 模板

for (int k=0; k<n; ++k) { for (int i=0; i<n; ++i) { for (int j=0; j<n; ++j) { /* 实际中为防止溢出,往往需要选判断 dist[i][k]和dist[k][j 都不是Inf ,只要一个是Inf,那么就肯定不必更新。 */

2015-08-31 08:51:07 339

原创 线段树模板

#include <stdio.h>#include <math.h>const int MAXNODE = 2097152;const int MAX = 1000003;struct NODE{ int value; // 结点对应区间的权值 int left,right; // 区间 [left,right]}node[MAXNODE];int f

2015-08-04 20:17:05 424

原创 hdu-Max Sum

大神们0ms0kb过的什么鬼,我怎么优化也到不了,晕。。。。#include<stdio.h>int a,i,max,i1,max1,star,end,star1,end1,i2,k;int main(){ int t; scanf("%d",&t); i1=1; i2=t; while(t--) { scanf("%d",&k);

2015-07-30 19:28:59 387

原创 hdu-1231最大连续子序列

dp简单递推就行了,不多说了。。。#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>#include<stack>#include<map>#include<time.h>int a[20000],k,i,j,symbol,max=0,b[20000],i1,max1,star,end,star1,

2015-07-30 18:33:39 393

原创 hdoj1864最大报销额

此题略坑500MS过因为要金钱数组要成*100,可以用贪心0ms过但没有尝试。。。#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>#include<stack>#include<map>#include<time.h>double money[3000011],sum,sm[50],va,suma

2015-07-30 16:44:11 376

原创 hdoj2955

以价值总数为背包重量,以银行数量为物品数 ,成功概率为总价值构建背包#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>#include<map>#include<stack>#include<time.h>#include <memory.h>int mo[1100],sum;double p1

2015-07-30 13:07:25 423

原创 hdu2602 Bone Collector

第二发背包模板题(渣渣只能做模板。。。)注意那个骨头重量可以是0。。。。,还有背包优化了很多还是31ms….不知那么多的大神是怎么0ms过的。。。不管了今天就这样了明天再搞。#include<stdio.h>#include<math.h>#include<string.h>#include<stdlib.h>#include<map>#include<stack>#include<ti

2015-07-29 21:25:12 314

原创 通过金矿模型介绍动态规划

http://www.cnblogs.com/sdjl/articles/1274312.html    这篇文章写的不错看他的博客学会了基础dp

2015-07-29 20:14:12 401

原创 简单背包问题模板

#include<iostream>#define GOODNUM 5using namespace std;int main(){ int good[GOODNUM][2]={{4,6},{5,2},{6,3},{7,7},{8,5}};//good[i][0]:size||good[i][1]:value int i,j,size,weight; int v[GOO

2015-07-29 18:48:16 567

原创 AHU524 桂园食堂

动归第一题,背包的模板。。。主要是浮点数精度的问题,在浮点数的表示法中,两个数之间的差值是用距离来表示的,因此相差极小的两个数,运算之后可能用同一个数来表示了。那么如何判断两个数相等呢?答案是:差值小于一个足够小的数,比如0.00000001这种。(硕神博客学来的。。。)然后要加0.01.#include<stdio.h>double a[120][10020];int main(){

2015-07-29 18:03:09 778

原创 poj 1753 Flip Game

跟着叉姐的步伐走的。。。他说这是枚举题,于是我真的暴力了,什么搜索,二进制都没用,以后有能力补上吧。。。。#include<stdio.h>#include<string.h>#include<stdlib.h>#include<math.h>#include<map>int x[5]={0,0,0,1,-1},y[5]={0,1,-1,0,0},sum1,sum2,cishu,i,j,k

2015-07-29 16:46:26 423

原创 ahu 350 分解因式

数论知识略微加一点贪心思想,主要是学好数学啊。。。 把一个数(n<100000000)分解成质数相乘形式#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>int main(){ int i,j,k,n,s,n1,i1; while(scanf("%d",&n)!=EOF) {

2015-07-29 14:39:09 597

原创 hdu1051

刚学完贪心好渣。。。第一发贪心#include<stdio.h>#include<math.h>#include <algorithm>using namespace std; struct stick{ int w; int l;}a[5005];int cmp(const stick &a,const stick &b){ if(a.l==b.l)

2015-07-28 17:10:55 412

原创 hdu2544

第二发最短路dijkstra#include<stdio.h>#include<math.h>#define max 10000000int a,b,m,i,j,k,n,x;int dis[500],c[500][500];void dijkstra(int star,int end,int c[500][500],int dis[]){ int w[500]={0},v;

2015-07-28 15:14:51 345

原创 hdu1874

第一发最短路。。。渣渣代码一次ac….以后要继续练习#include<stdio.h>#define max 10000000int a,b,m,s,t,i,j,k,n,x;int dis[500],c[500][500];void dijkstra(int star,int end,int c[500][500],int dis[]){ int w[500]={0},v=-1;

2015-07-28 14:21:47 466

原创 有向图的Dijkstra算法实现模板

有向图的Dijkstra算法实现#include <iostream>using namespace std;const int maxnum = 100;const int maxint = 999999;// 各数组都从下标1开始int dist[maxnum]; // 表示当前点到源点的最短路径长度int prev[maxnum]; // 记录当前点的前一个结点int

2015-07-28 12:52:51 1205

空空如也

空空如也

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

TA关注的人

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