自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(63)
  • 资源 (8)
  • 收藏
  • 关注

原创 简单的排序+贪心 pku 1089_Intervals

#include #include #include using namespace std;#define size 50005struct Node{ int left, right;};Node data[size];int n;int cmp(const void *a, const void *b){ struct Node *c = (Node *)a; struct Node

2010-04-14 16:06:00 611

原创 pku 2623 sequence median 水题 解题报告

pku 2623 sequence median 水题 解题报告水题而已.但却让我提交了wa几次,需要总结下:1.       int范围不能超过2的32次方;2.       __int64可以用qsort,但记得修改相应的cmp;3.       初次分析很重要,要狠且正确.AC代码:·                #include ·              

2010-04-11 22:04:00 759

原创 pku 1141 Bracket Sequence DP 解题报告

pku 1141 Bracket Sequence DP 解题报告以前做过的十分典型DP.黑书有这题的思路.关键是明白是最优子结构。#include #include using namespace std;#define min(a, b) a > b ? b : a int len;int d[110][110];char s[110], result[11

2010-04-09 20:07:00 587

原创 pku 1466 Girls and Boys 最大独立集 解题报告

#include #include const int maxn = 505;int N, link[maxn];bool graph[maxn][maxn], visit[maxn];bool SearchPath(int u){ int v; for (v = 0; v  {  if (graph[u][v] && !visit[v])  {   visit[v] = true;   

2010-04-08 21:44:00 676

原创 pku 2234 matches game 博弈

pku 2234 matches game 博弈算法:看了张一飞对博弈题的介绍,根据他的结论A了.可以说是最简单的博弈题。为了纪念一下第一道博弈题: #include #include #define M 25 int main(){       int i, n;       long result;       long number[M];  

2010-04-02 16:09:00 573

原创 pku 1308 Is A Tree 搜索 解题报告

pku 1308 Is A Tree 搜索 解题报告注意几点就ok:1、0 0       //空树就是一棵树;2、入度为0结点有几个   //即not tree3、存在没有一个结点的入度为0  //即not treeAC代码: #include #include #define size 30#define Min(a, b) (a > b ? b :

2010-04-02 16:08:00 399

原创 pku 2002 squares 几何的推导与hash表的优化

pku 2002 squares 几何的推导与hash表的优化题意:给出n个点,判断这些点可以构成多少个不同的正方形.算法:先确定正方形的2个点(x1,y1),(x2,y2).再利用等边三角形等初中的几何知识,求出另外2个点(x3,y3),(x4,y4).然后利用hash表判断这2个点是否存在.AC代码:#include #include #define max 2000

2010-04-01 19:53:00 890 1

原创 pku 1087 A Plug for UNIX 网络流 解题报告

pku 1087 A Plug for UNIX 网络流 解题报告十分郁闷的一题,与其说是练习算法与编程,还不如说练习你的英语.算法一般般,很多人都能想到.不是最大流就是利用二分图.可我在这过程中,总是建错图.原因在于没有理解好题意啊.像sample:4 A B C D 5 laptop B phone C pager B clock B comb

2010-03-29 23:33:00 830

原创 pku 1521 赫夫曼编码 Entropy 解题报告

pku 1521 赫夫曼编码 Entropy 解题报告题意:要快速明白此题,那么严蔚敏编写的数据结构>>有关赫夫曼编码的内容看明白才行;明白了赫夫曼编码此题就很容易AC了,题目本来就是要我们写一个赫夫曼树.算法:赫夫曼编码算法.AC代码:#include #include #include typedef struct{       int weight;   

2010-03-26 19:03:00 1011

原创 pku 1422 Air Raid 最小路径覆盖图 解题报告

pku 1422 Air Raid 最小路径覆盖图 解题报告经过队友分析,是最小路径覆盖图。于是自己仔细分析一下,果然是这样,马上写,就a了。仍然懒得只贴代码: #include #include #define M 125 int n, m, ans;int map[M][M], link[M];bool visit[M]; bool find

2010-03-24 19:18:00 776

原创 pku 2253 Frogger Prim算法巧用 解题报告

pku 2253 Frogger Prim算法巧用 解题报告题意:给出一个有权无向图,求出一条生成树其权值最大值,但在所有的生成树下,其值是最小的. 算法:熟悉Prim算法的过程,那么就很好解决次问题. AC代码: #include #include #include #define M 205 const double MAX = 2000000;

2010-03-24 12:06:00 535

原创 pku 匈牙利算法 1469 COURSES 解题报告

 简单题,纯粹用来温习一下匈牙利算法:#include #include #define maxn 305int test, p, n, m;int g[maxn][maxn], a[maxn], b[maxn];bool used[maxn];void add(int x, int y){g[x][y] = 1; }bool find(int s){f

2010-03-18 23:15:00 507

原创 pku 3187 Backward Digit Sums搜索

简单题:  #include #include  int N, Sum;int x[15];bool visit[15]; bool check(){       int i, k = N;       int y[15], z[15];       for (i = 1; i        {              z[i]

2010-03-16 16:54:00 569

原创 pku 1164 the castle 深度搜索 解题报告

简单的dfs:#includeusing namespace std;const int MAXN = 55;int count, a[MAXN][MAXN], used[MAXN][MAXN];void dfs(int i, int j){ used[i][j] = 1; ++count; if (a[i][j] % 2 == 0) //向

2010-03-10 21:14:00 566

原创 pku 1011 sticks 搜索+剪枝 解题报告

pku 1011 sticks 搜索+剪枝 解题报告1、 从大到小搜索,缩小其搜索的范围。2、 剪枝。AC代码:#include #include #include int n, sum, len, number;int sticks[65];bool visit[65], flag;int cmp(const void *a, const

2010-03-05 15:58:00 637

原创 pku 1157 LITTLE SHOP OF FLOWERS 水货dp 解题报告

pku 1157 LITTLE SHOP OF FLOWERS 解题报告算法:很直观的dp,不多说。AC代码: #include #include #define inf -55#define max(a, b) (a > b ? a : b) int F, V, A[105][105], dp[105][105]; int main(){   

2009-12-23 08:36:00 563

原创 pku 2392 space elevator 多重背包 dp 解题报告

pku 2392 space elevator解题报告算法:首先很容易想到先对3个测试数据的高度进行整体的排序(很显然,结果由最大的高度决定的);然后对每一组测试数据进行01背包dp.那么最优解就出来了。。 不过,我的算法要跑360多ms,我看到很多人都可以0ms,在这问问那些牛人了,怎么达到0ms? AC代码:#include #include #include

2009-12-22 09:22:00 758

原创 pku 3039 Margaritas on the River Walk 背包dp 解题报告

pku 3039 Margaritas on the River Walk 解题报告题意:给定n件物品和一个背包,第i件物品的体积为Vi,背包容量为C.要求吧一些物品放入背包使得剩下的物品都放不下去,求方案数.算法:如果熟悉01背包的话,此题很容易求解.思路:先对n个体积进行从小到大的排序,然后枚举i作为剩余物品中体积最小为v,dp[i]为方案数(其中i为当前体积).那么可以分析对于大

2009-12-15 23:00:00 520

原创 pku 2772 up the stair 模拟推导 解题报告

pku 2772 up the stair 解题报告假设有9个箱子,3个人,10层楼,初始状态为:1在0,2在5有带箱子,3在3有带箱子.模拟一下这过程:第一个人运行: 第二个人运行: 第三个人运行: 那么可以发现总的时间由第二个人来决定的.即(10-5)*2+5 + 10 + 2 * 2 * 10.我们假设c[i]为每人在初始点回到最底层所

2009-12-13 01:05:00 600

原创 pku 1185 炮兵阵地 压缩dp 解题报告

pku 1185 炮兵阵地 解题报告思路:用二进制保存这一行中炮兵,例如1 0 0 0, 1表示炮兵.那么很明显用到了压缩dp。认真发现炮兵摆放的规律可知,每3行进行一个判断就可以了.也就是说,我们可以每3行都进行dp的转移,当然1、2行有特殊的处理.比如第i行为:1 0 0 0 0 第i+1行为0 0 0 0 1,那么怎么知道i+2的状态呢?其实我们可以先将合法的状态枚举出来,这样问题就变得

2009-12-13 01:03:00 695

原创 pku 1185 炮兵阵地 压缩dp 解题报告

pku 1185 炮兵阵地 解题报告思路:用二进制保存这一行中炮兵,例如1 0 0 0, 1表示炮兵.那么很明显用到了压缩dp。认真发现炮兵摆放的规律可知,每3行进行一个判断就可以了.也就是说,我们可以每3行都进行dp的转移,当然1、2行有特殊的处理.比如第i行为:1 0 0 0 0 第i+1行为0 0 0 0 1,那么怎么知道i+2的状态呢?其实我们可以先将合法的状态枚举出来,这样问题就变得

2009-12-11 20:06:00 1334

原创 pku 1691 painting a board dfs+回溯 解题报告

 pku 1691 painting a board 解题报告算法:先将数据转化为有向图,然后dfs+回溯.如sample中的数据可以变为以下的有向图: 然后利用深度搜索+回溯,求出最优值.AC代码:#include #include #define M 20#define inf 1000000 int n;int map[M]

2009-12-11 15:47:00 527

原创 pku 2411 modriaans dream 压缩dp 解题报告

pku 2411 modriaans dream解题报告很显然利用了状态压缩dp,我们假设:00ß-------à00 横放1ß----------à1 竖放那么以sample:2 4为例,得到的答案为一下:1、00000000:2、0000              11001100 或者: 00003、1111            

2009-12-10 08:12:00 713

原创 pku 1179 polygon 石子合并的变形题dp 解题报告

pku 1179 polygon解题报告题目链接:http://acm.pku.edu.cn/JudgeOnline/problem?id=1179题意:多边形游戏,开始时有一个由n个顶点构成的多边形.每个顶点被赋予一个整数,每条边都会被赋予*或者+.游戏是这样的:1.       先去掉一边;2.       进行替换,如题意所示:求最高分与得

2009-12-08 20:49:00 898

原创 pku 1129 channel allocation 回溯解题报告

pku 1129 channel allocation 回溯解题报告典型的着色问题,用回溯解决AC代码: #include #include #define M 27#define inf 10000000 int n, answer, x[M], map[M][M]; void generate_color(int i, int k){   

2009-12-04 21:25:00 875

原创 四边形不等式优化dp应用------pku 1160 post office 解题报告

四边形不等式优化动态规划原理:1.当决策代价函数w[i][j]满足w[i][j]+w[i’][j’]时,称w满足四边形不等式.当函数w[i][j]满足w[i’][j]时,称w关于区间包含关系单调.2.如果状态转移方程m为且决策代价w满足四边形不等式的单调函数(可以推导出m亦为满足四边形不等式的单调函数),则可利用四边形不等式推出最优决策s的单调函数性,从而减少每个状态的状态数,将算法的时间

2009-12-03 11:01:00 7454 6

原创 pku 1905 二分 Expanding Rods 解题报告

pku 1905 二分 Expanding Rods 解题报告解题思路:由公式 弦长 = 2*r*sin(弧长/2*r)即b=2*r * sin(a / (2r)), a为弧长,b为弦长即b/a=2r/a*sin(a/(2r))角a/2r相当于a*pi / 2r*pi 即弧角=弧度=弧长/半径推理可知范围在0~pi/2 假设为x=a/(2r),即为弧长一半所对应的圆心角

2009-12-01 17:35:00 693

原创 pku 1947 Rebuilding Roads 树形dp 解题报告

pku 1947 Rebuilding Roads 解题报告算法: 一道不错的树形dp.不会做.看了大牛的状态转移方程才慢慢推敲出来.dp[now][j]:记录now结点,要得到一棵j个节点的子树去掉的最少边数1)考虑其儿子x如果不去掉x子树,则dp[now][j] = min(dp[now][j-k]+dp[x][k])  0 2)如果去掉x子树,则dp[now][j] = 

2009-11-29 20:31:00 529

原创 pku 2287 TianJi -- The Horse Racing 贪婪的dp 解题报告

 pku 2287 TianJi -- The Horse Racing 解题报告题目链接: http://162.105.81.212/JudgeOnline/problem?id=2287题意:中国古代有名的田忌赛马,就不多解释了.算法:     如果深知田忌赛马知道,田忌掌握有比赛的“主动权”,他总是根据齐王所出的马来分配自己的马,所以这里不妨认为齐王的出马顺序是按马的速

2009-11-28 15:05:00 1017

原创 pku 1724 roads 深搜 解题报告

 pku 1724 roads 解题报告此题并不难,就是利用深搜就可以解决问题,但却让我吃尽了苦头.从一开始的wa,再改进算法,却一直TLE.一直搞不明白.终于在discuss中发现,自己数据结构的存储方式选择错了.于是改了数据结构的存储方式,才AC了.可自己觉得学到不少,收获良多.TLE的存储方式:void input(){    int i, S, D, L, T;

2009-11-26 22:50:00 538

原创 hdu 1913 computer 部分贪心+一维dp 解题报告

 hdu 1913 computer 解题报告题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1913题意: 这道题就是说有个人想在不同的时期分别买一台新电脑(具体一共买几台不知道),希望能够使用这些电脑来工作N年。每台电脑每年都有维护费用,你每买一台电脑时,都要花固定的成本C(就是用来买台电脑的钱了),你使用电脑工作N年,你要花的钱就是

2009-11-24 16:21:00 839

原创 pku 2057 The Lost House 树形dp+背包dp 解题报告

 pku 2057 The Lost House 解题报告一、题目大意:蜗牛的房子遗失在了一棵树的某个叶子结点上,它要从根结点出发开始寻找它的房子。有一些中间结点可能会住着一些虫子,这些虫子会告诉蜗牛它的房子是否在以这个中间结点为根的子树上,这样蜗牛就不用白跑路了。当然,如果有些结点没有住着虫子的话,那么可怜的蜗牛只有靠自己决定访问顺序来探索了。假设蜗牛走过一条边的耗费都是1,且房子遗

2009-11-24 16:01:00 1726

原创 pku 树形dp 1849 two 解题报告

 pku 1849 two 解题报告题目链接: http://acm.pku.edu.cn/JudgeOnline/problem?id=1849题意:给出一棵树的公路网,公路网堆满雪,需要2辆汽车扫完全部雪,树的权值表示耗费汽车的油费,求汽车从结点S开始,用最少汽油费扫完全部雪,汽油费是多少?思路:通过此题,更加深刻了解树形dp的特点,树形dp通常是典型的从低向上dp的,

2009-11-22 18:57:00 890

原创 pku 树形DP 1848 Tree 解题报告

 pku 树形DP 1848 Tree 解题报告此题好难,但很有意义,能让自己对树形dp有了更深一层的认识.在此十分感谢:JNU zorro的解题报告:http://blog.sina.com.cn/s/blog_5c95cb070100d8gu.html.讲解的很仔细。我就在这里做个总结。描述:给一棵N个节点的树添加一些边,使得所有的点在且仅在唯一一个环,环至少要3个点。求添加边数的

2009-11-20 16:27:00 930

原创 NOI 1192 加分二叉树 解题报告

NOI 1192 加分二叉树 解题报告题目链接: http://judge.noi.cn/problem?id=1192 题意:   设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第j个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的

2009-11-17 18:28:00 1663

原创 pku 1195 Mobile phones 树状数组 解题报告

 pku 1195 Mobile phones 解题报告刚刚学完树状数组,拿pku1195来练习就a了,第一道二维树状数组的应用,值得纪念一下.算法就是简单的二维树状数组的基本函数应用,详细见我另一篇文章树状数组小结。题目链接: http://acm.pku.edu.cn/JudgeOnline/problem?id=1195AC代码:#include #include

2009-11-17 15:09:00 757

原创 树状数组小结

 树状数组小结第一次接触树状数组,a了2道pku上练习树状数组的基础题。故此做个总结。树状数组理论来源:武钢三中 吴豪 树状数组      一维树状数组相关函数://计算最小幂2^iint Lowbit(int i){         return i & (i ^ (i - 1));} //计算树状数组的前n项和int Sum(int end)

2009-11-17 13:31:00 584

原创 pku 3621 01分数规划 sightseeing cows 解题报告

 pku 3621 sightseeing cows 解题报告题意:求存在一个环路,所有的点权之和/所以的边权之和 最大是多少? 算法:此题是对01分数规划的应用,那么首先明白01分数规划的思想. 01分数规划的思想的描述如下:令c=(c1,c2,…,cn)和d=(d1,d2,…,dn)为n维整数向量,那么一个0-1分数规划问题用公式描述如下:FP: 最小化(c1x1+

2009-11-14 15:00:00 3237 3

原创 pku 3301 Texas Trip 三分法 解题报告

 3301 Texas Trip 解题报告首次领教了三分法,对于二分、三分解决一些数学问题有了更加深刻的领悟。题意:求最小面积的正方形,覆盖平面上给定的N个点。算法:三分逐步细分。标准正放正方形的比较好做只要找出minx,miny,maxx,maxy即可但是最小正方形不一定是标准正放,每个点对角度坐标表换的值,(   x = node[j].x * cos(angle) - nod

2009-11-13 13:33:00 690

原创 pku 1166 the clocks 高斯消去法 解题报告

 pku 1166 the clocks 解题报告高斯消去法的典型应用题意:输入提供9个钟表的位置(钟表的位置只能是0点、3点、6点、9点,分别用0、1、2、3)表示。而题目又提供了9的步骤表示可以用来调正钟的位置,例如1 ABDE表示此步可以在第一、二、四、五个钟调正,如原来是0点,那么调正后为3点。问经过那些步骤可以导致9个钟的位置都在0点。算法:如果数学敏感度不强的话

2009-11-01 16:01:00 885

全球ip库分享精准到城市街道

全球ip库,一共50多万记录;支持Access+Excel+CSV+TXT(制表符)+Mysql五种格式,内容一样。

2019-12-10

java 网络泡泡堂 游戏

java 网络 泡泡堂 游戏 非常适合初学者学习參考 java-swing技术,网对大家有帮助。

2011-04-12

c++课程设计音像店管理系统

c++课程设计音像店管理系统、音像店、c++、面向对象

2009-12-31

最大流C语言用bfs与dfs实现代码 最大流ppt

#include using namespace std; int c[20][20]; //容量 int f[20][20]; //流量 int b[20]; //保存找到的增广路径,记录路径上结点i的前驱结点。 int sum; //最大流量。 int s, t, n; //假定:1是源点S;n是汇点T。 int min(int a, int b) { if (a > b) { return b; } return a; } //DFS找增广路径 bool findflow(int k) //:boolean; {找结点k的后继结点i } { int i; //integer; if (k == n) { return true; // {找到了一条增广路径} } for (i = 1; i 0 || f[i][k] > 0)) //then { b[i] = k; if (findflow(i)) { return true; } //then exit(true); } } return false; }

2009-09-07

数据结构以及算法经典

包含多个数据结构及算法经典程序,欢迎下载,相互学习!

2009-06-09

用c语言编写的俄罗斯方块

用c语言编写的游戏---俄罗斯方块,欢迎大家下载!公共学习!

2009-06-03

贪吃蛇游戏--结构化编程

贪吃蛇游戏--结构化编程!此程序由本人整理而成!欢迎大家下载!

2009-06-03

五子棋的源代码,欢迎下载

五子棋源代码,需要在tc编译器的坏境下实现,欢迎大家下载,公共学习!

2009-06-03

空空如也

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

TA关注的人

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