自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Time flies

+++++++++++++++++++++++++++++++++

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

原创 顶点着色器轮廓边卡通效果演示程序

摆着,明天写好注释放上来

2015-03-13 23:39:14 1474

原创 windows程序设计-第七章 BLOKOUT1 备注

仅供参考,如有budu#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName

2014-08-05 20:49:05 964 1

原创 SetROP2 (hdc, R2_NOT) 函数功能测试

函数SetROP2#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szA

2014-08-05 20:38:43 2809

原创 SetWindowOrgEx() 与 SetViewOrgEx () 函数的测试

#include LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM) ;int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow){ static TCHAR szAppName[] = TEXT ("窗

2014-07-29 22:23:51 993

原创 hdu3555 数位dp入门题

hdu3555给出T个N,对每一个N求1~N中有多少个数含49   (如 49,449,12349,2491等)参考#include#include#include#includeusing namespace std;__int64 N,dp[33][3],sum;int bit[33];int main(){ int i,j,T,len; m

2013-05-09 13:31:22 1568

原创 poj3107 树的重心 非stl实现

poj3107求树的重心,全部输出(poj1655 输出序号最小的节点,数据规模小一点,使用stl)#include#include#include#includeusing namespace std;int N;int v[50010*2],next[50010*2],head[50010],E;int vis[50010];int num[50010],dp[5

2013-05-06 20:38:11 1685

原创 poj1741Tree 树的分治 树形dp 男人八题....

poj1741Tree没有思路的话就看看漆子超的论文//重心 距离 排序 统计 //http://www.2cto.com/kf/201208/149839.html#comment_iframe#include#include#include#include#include#includeusing namespace std;#define MAX

2013-04-26 20:03:20 1635

原创 poj1655Balancing Act 树的重心,树形dp

poj1655第一次dfs求出每个子树的节点数第二次dfs求答案这一题是poj1741的基础(1741代码)poj3107也是相同的意思 不过所有点都要输出,并且无法使用stl(数据规模较大)题解#include#include#include#includeusing namespace std;int N;vectorson[20010]; //图

2013-04-23 12:35:14 1205

原创 hdu2196Computer 经典树形dp 在树上求最长距离

hdu2196题解两次搜索的方法#include#include#include#includeusing namespace std;int N,V[10100]; vectorson[10100]; //图 int MAX[10100],MAXN[10100]; //最大值及其标号 int SMAX[10100],SMAXN[10100];

2013-04-18 21:24:39 1385

原创 hdu1520 Anniversary party 树形dp

hdu1520比之前树形背包要简单多了,没有背包的体积限制dp[ i ] [ 0 ]  以i为根(不包括i本身)的树上取到的最大值dp[ i ] [ 1 ]   以i为根(包括i本身)的树上取到的最大值#include#include#include#includeusing namespace std;int N,V[6100];vectorso

2013-04-18 14:32:15 922

原创 POJ1947 树形dp 重做

poj1947噩梦。。。#include#include#include#includeusing namespace std;int N,P;vectorson[160];int vis[160],dp[160][160],Start;int dfs(int n){//printf("~%d\n",n); int sum=1,len=son[

2013-04-16 20:28:11 1111 1

原创 hdu1011Starship Troopers 树形DP

hdu1011有很多细节需要理解http://tobyaa.blog.163.com/blog/static/3024859120128260453244/一棵树,有n个结点,每个结点有v个bug,有w的brain。我从1号结点开始走,带着m个战士。 1个战士可以消灭20个bugs,如果我把某个结点的所有bug都消灭了我就能得到那个结点的brain。如果想攻击当前结点,

2013-04-15 21:52:51 940 1

原创 poj1155TELE - 树形dp

poj1155这题和上一题一样的思路,不过背包的体积有不同,每次都要计算#include#include#include#includeusing namespace std;int N,M,v[3010];vectorson[3010]; //记录儿子节点 vectorcost[3010]; //记录花费 int dp[3010][3010];int

2013-04-15 11:14:31 878

原创 hdu1561树形DP入门

hdu1561The More,The Better推荐题解dp[ i ] [ j ]  以节点i为跟,取j个(包括i,即dp[i][1]=V[i])所能得到的最大值#include#include#include#includeusing namespace std;int N,M,v[223];vectorson[223];int dp[223][223]

2013-04-14 13:44:33 2983

原创 hdu3535 01&分组背包

hdu3535稍微能理解一些了,至少取一个的分组背包。http://www.cnblogs.com/wuyiqi/archive/2011/11/19/2255208.html写hdu3033的那题 网上没有解释好一点的题解 ,这题题解比较多#include#include#includeusing namespace std;int N,T,M,

2013-04-11 20:48:33 1212

原创 hdu3033 分组背包变形(至少去1个)

hdu3033受不了了#include#include#includeusing namespace std;int N,M,K,a,b,c;struct NODE{ int num; int w[110],v[110];} n[11];int dp[11][11000];int main(){ int i,j,k; while(scanf("%d

2013-04-10 21:10:45 804 1

原创 zoj3690Choosing number 矩阵dp

zoj3690(Small)S[ i ]  前i个数字排列的方案数  (最后一位小于等于K)(Big)     B[ i ]  前i个数字排列的方案数   (最后一个数字大于K)递推公式 :S[ i ] = S[ i-1 ]*(K-1) + B[ i-1 ]*KB[ i ] = S[ i-1 ]*(M-K) + B[ i-1 ]*(M-K)最

2013-04-01 19:18:22 1084

原创 poj2689Prime Distance 素数筛选

poj2689Prime Distance题目要求:在给定范围L~R中找出差值最大和最小的两组素数要在L~R筛选素数 ,直接算出1~2,147,483,647的话肯定超时但实际上,筛选1~2,147,483,647中的素数需要的因子并不多,只要找出2~sqrt(2,147,483,647)中的素数就够了,筛选法就是这么干的之后用这些素数对L~R的

2013-04-01 13:54:38 831 1

转载 ACM 推荐blog汇总及OJ

ACM-ICPC世界网站http://acm.timus.ruhttp://acm.sgu.ruhttp://acm.hnu.cnhttp://acm.hdu.edu.cnhttp://acm.pku.edu.cnhttp://acm.zju.edu.cnhttp://acm.jlu.edu.cnhttp://acm.hnu.edu.cnhttp://acm.h

2013-03-28 17:59:11 2964 1

原创 zoj2156Charlie's Change 多重背包可行性问题+记录路径

zoj2156用一个结构体pre数组来记录前一步的信息#include#include#includeusing namespace std;int C,n[30],v[5]={ 0,1,5,10,25};int dp[15000];struct PRE{ int ID,NUM,P;} pre[15000];int main(){ int i,j,k

2013-03-26 19:42:58 1224

原创 POJ1661Help Jimmy _dp

pooj1661将题目模型想象成水流的下落:遇到木板后分成两股水流继续向下,问什么时候能到达地面(假设地面是最后一个木板)dp[i][0] 水流到达第i个木板左端点的最早时间 dp[i][1] 右端点//poj1661#include#include#include#includeusing namespace std;int dp[1100][2

2013-03-21 14:53:56 912

原创 hdu1269 Tarjan强连通分量 模板

hdu1269资料师兄给的模板/*2012-12-06 20:16:08 Accepted 1269 46MS 1484K 1339 B C++*/#include #include #include using namespace std;#define maxn 10010int n;vector g[maxn];int Bcnt;

2012-12-06 21:59:38 3991 1

原创 hdu2586 LCA模板

hdu2586先预处理然后是   在线询问 (也就是一边读入一边查询)#pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include using namespace std;#define maxn 400010int n;struct Nod

2012-12-06 17:27:26 4579 1

原创 hdu1059Dividing 多重背包二进制优化

hdu1059#include#include#includeusing namespace std;int dp[440000],sum,n[7];int main(){ int i,j,k,left,T=1; while(scanf("%d%d%d%d%d%d",&n[1],&n[2],&n[3],&n[4],&n[5],&n[6])) { sum

2012-12-03 21:57:46 1269

原创 hdu1864 最大报销额

hdu1864题解  友情链接~同一个方法做的#include#includeusing namespace std;int N;double V,dp[40],p[40],MAX,sum[40];bool flag[40];void dfs(double x,int k){ if(x>V) return ; if(x>MAX) MAX=x;

2012-12-03 20:28:39 1744

原创 hdu2586 How far away? LCA

hdu2586#include#include#include#includeusing namespace std;#define MAX 40000struct edge{ int v,w;};vector mp[MAX];vector query[MAX];bool flag[MAX];int pre[MAX],father[MAX],path[MAX]

2012-12-03 11:35:42 1863

原创 hdu1558并查集+线段相交

hdu1558关于线段相交的内容参考算法导论P577#include#include#includeusing namespace std;int pre[1010],sum[1010];struct point{ double x,y;};struct EDGE{ point a,b;} edge[1010];int E;//边数 int Fi

2012-12-03 11:33:44 1475

原创 hdu3037Saving Beans lucas定理

hdu3037lucas 对组合数取模lucas(n,m)=C(n%mod,m%mod)*lucas(n/mod,m/mod)%mod;lucas(n,0)=1;#include#includeusing namespace std;__int64 jc[100010];__int64 exgcd(__int64 a,__int64 b,__int64

2012-12-02 17:23:28 1094

原创 fzu2020 组合,逆元

fzu2020对组合数求模 需要用到逆元#include#include#include#includeusing namespace std;__int64 Ext_gcd(__int64 a,__int64 b,__int64 &x,__int64 &y){ if(b==0) { x=1, y=0; return a; } __int64 r

2012-12-02 15:39:52 1185

原创 fzu2015vote 组合 逆元

fzu2015http://fayaa.com/code/view/27362/raw/#include#includeusing namespace std;__int64 jc[210],mod=1000000007;__int64 exgcd(__int64 a,__int64 b,__int64 &x,__int64 &y){ if(b==0) return

2012-12-02 15:37:24 795

原创 最短路一个的细节

没次求最近点的时候都赋值为-1  ,循环结束后还是-1的话 return -1有特殊的作用

2012-11-30 21:39:27 662 1

原创 数论笔记

欧几里德算法概述:  欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:  gcd函数就是用来求(a,b)的最大公约数的。  gcd函数的基本性质:  gcd(a,b)=gcd(b,a)=gcd(-a,b)=gcd(|a|,|b|)欧几里得算法的公式表述  gcd(a,b)=gcd(b,a mod b)  证明:a可以表示成a = kb + r

2012-11-30 17:57:37 1876

原创 hdu4135 互斥+容斥原理

hdu4135网上学到到的递归写法#include#include#includeusing namespace std;int fac[20];void Init(int m){ int i,n=0; for(i=2;i*i<=m;i++) if(m%i==0){ fac[++n]=i; while

2012-11-29 16:31:40 1930

原创 hdu2841 筛选素因子 容斥定理

hdu2841#include#include#define max 100001int Prim[max],num[max][20];void init(){ int i,j; memset(Prim,0,sizeof(Prim)); for(i=1; i<=100000; i++) num[i][0]=0; for(i=2; i<=100000; i+

2012-11-28 19:30:46 1157

原创 pku1659Frogs' Neighborhood 可图定理

pku1659n个点的度从大到小排序从中出去第一个点 并抹去边 (类似拓扑排序)序列中的所有数都为0 或 出现负数#include#include#include#includeusing namespace std;struct point{ int n,num;}P[11];bool cmp(point a,point b){ return a.num>b

2012-11-27 16:49:47 746

原创 hdu2209 翻纸牌游戏-位运算bfs

hdu2209#include#include#include#includeusing namespace std;bool vis[1<<20];int path[1<<20],len;queueQ;int bfs(int x){ int X; if(!x) return 0; while(!Q.empty()) Q.pop(); Q.push(x);

2012-11-23 20:25:26 1048

原创 hdu1426 数独killer

hdu1426题目上说有唯一解...按照他说的用唯一解来写 超时啊//运行代码后面的样例时//最后18个空位产生死循环 #include#include#includeusing namespace std;int mp[10][10],T[10]={0,1,1,1,2,2,2,3,3,3};int N; //N个空需要填struct point{

2012-11-23 20:11:13 1062

转载 图论

最短路问题此类问题类型不多,变形较少POJ 2449 Remmarguts' Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?cont

2012-11-18 22:07:39 1026

原创 师兄的题集

dp 概率 期望poj 2096    zoj 3329    zoj 3551     zoj 3582    zoj 3640    poj 3071    poj 3756     hdu 4035hdu 4050  CF24 D2satpoj 2723 已做poj 3207 已做poj 3648 已做poj 3

2012-11-18 19:13:07 1457

原创 URAL 1229贴地砖 . 二分图匹配

铺地砖的时候要铺两层才能牢固??给出了第一层现在让铺第二层 第二层的地砖要跟第一层的完全错开 。这是题意用黑格子去跟白格子二分匹配匹配成功就连一条线( X[i][j]=i   Y[i][j]=j  )  完成后 再根据给每个白格子和它的前导 赋值 输出#include#include#includeusing namespace s

2012-11-18 14:01:45 1500 1

空空如也

空空如也

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

TA关注的人

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