自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

弱菜zc

我好菜啊!!

  • 博客(33)
  • 资源 (3)
  • 收藏
  • 关注

原创 IP数据包的校验和算法

一.CheckSum算法思路:1.     把校验和字段清零;2.     按两个字节的十六进制数进行反码求和接收方的和发送方的过程基本一致,发送方求出校验和后存入校验和字段,而接收方求出校验和判断是否为0,如果为0则正确,抛弃该包。  二.代码实现:相应的代码细节详见代码; 给出两组测试数据://by zc 5/29/2016#include #inc

2016-05-30 23:47:30 1236 1

原创 NYOJ 304 节能 区间dp

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=304题目:Dr.Kong设计的机器人卡多越来越聪明。最近市政公司交给卡多一项任务,每天早晨5:00开始,它负责关掉ZK大道右侧上所有的路灯。卡多每到早晨5:00准会在ZK大道上某盏路灯的旁边,然后他开始关灯。每盏灯都有一定的功率,机器人卡多有着自觉的节能意识,它希望在关灯期间,

2016-05-28 16:02:17 975

原创 51nod 1004 n^n的末位数字

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1004题意:给出一个整数N,输出N^N(N的N次方)的十进制表示的末位数字。打表。#include #includeusing namespace std;int a[10][4]={0,0,0,0,1,1,1,1,2,4,

2016-05-27 00:07:54 786

原创 51nod 1003 阶乘后面0的数量

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1003题目:n的阶乘后面有多少个0?因为2的个数足够,所以只要求可以拆成多少个5就行了。#include #includeusing namespace std;int main(){ int n; sca

2016-05-26 23:51:26 565

原创 51nod 1002 数塔取数问题

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1002题目:一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。   5  8 4 3 6 97 2 9 5例子中

2016-05-26 23:44:02 880

原创 51nod 1001 数组中和等于K的数对

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1001题目:给出一个整数K和一个无序数组A,A的元素为N个互不相同的整数,找出数组A中所有和等于K的数对。例如K = 8,数组A:{-1,6,5,3,4,2,9,0,8},所有和等于8的数对包括(-1,9),(0,8),(2,6),(3,5)。直

2016-05-26 23:36:51 1168

原创 hdu 2686/hdu 3376 Matrix Again 费用流模板

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3376题意:给一个矩阵,从左上角走到右下角,然后再返回左上角,每个点最多只经过一次。每个点有一个值,经过时加上值。求最大值。经典的费用流题,给一个模板。拆点保证每个点只经过一次,源点和汇点容量为2保证线路为2。仔细看看代码大概就能明白原理了。#include #

2016-05-26 00:26:40 574

原创 最长上升子序列优化算法 【算法作业】

题目:    设计一个O(n²)时间的算法,找出由n个数组成的序列的最长单调递增子序列。思路分析:    O(n²)算法的复杂度很大一部分浪费在查找前i-1项的最长上升子序列上。如果我们能直接保存前i项的最大上升子序列,那么当我们处理第i项时只需要调用即可。      如果同样长的子序列,当然它的尾部元素越小越好。所以设s[i]为长度为i的子序列尾部元素的最小值。我

2016-05-23 21:00:49 995

原创 51nod 1051 最大子矩阵和

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1051题意:一个M*N的矩阵,找到此矩阵的一个子矩阵,并且这个子矩阵的元素的和是最大的,输出这个最大的值。例如:3*3的矩阵:-1 3 -12 -1 3-3 1 2和最大的子矩阵是:3 -1-1 3

2016-05-21 00:25:53 1541

原创 51nod 1086 背包问题 V2 多重背包

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1086题意:有N种物品,每种物品的数量为C1,C2......Cn。从中任选若干件放在容量为W的背包里,每种物品的体积为W1,W2......Wn(Wi为整数),与之相对应的价值为P1,P2......Pn(Pi为整数)。求背包能够容纳的最大价值。标准的

2016-05-20 23:32:34 779

原创 poj 3352 Road Construction 双连通分量+缩点 模板

题目链接:http://poj.org/problem?id=3352题意:给出一个没有重边的无向图,求至少加入几条边使整个图成为一个边双连通分量。双连通分量模板,把图中所有的边双连通分量缩成一个点,原图就缩成了一棵树,要加的边数就是(所有度为1的点的个数 + 1)/2。#include #include#include#include#include#def

2016-05-19 20:32:44 619

原创 hdu 3861 The King’s Problem tarjan+缩点+最小路径覆盖

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3861题意:有一个n个点m条边的有向图,把这个图分成几个区域,使得每个区域中的任意两点u, v要么u能到v,要么v能到u,求最少要分成几个区域。将强连通分量缩点得到有向的树,即求这棵树的最少路径覆盖(点数 – 二分图的最大匹配)//#include#include #in

2016-05-18 12:54:12 522

原创 poj 3180 The Cow Prom 强连通分量tarjan

题目链接:http://poj.org/problem?id=3180题意:有N头奶牛,和M个绳索。每个绳索从一头奶牛处发出,射向另一头奶牛。现在奶牛们想要跳舞,如果沿着射向它的绳索往回找,找到另一头牛,并如此找下去,最后能找到自己发出的绳索,那么这头奶牛就跳舞成功了,并且在寻找过程中,串起来的这些奶牛属于同一个集合。问最后这M个绳索连出了几个集合?就是求元素大于1的强连通分量数,

2016-05-17 21:24:13 622

原创 poj 1182 食物链 带权并查集

题目链接:http://poj.org/problem;jsessionid=6DC324CEA3473E8FC76C6BD83E2626DE?id=1182题意:题目告诉有3种动物,互相吃与被吃,现在告诉你m句话,其中有真有假,叫你判断假的个数(如果前面没有与当前话冲突的,即认为其为真话)。经典的并查集题目,可以设置权值r[i](i与父亲节点的关系):0——同类;1——食

2016-05-17 20:27:29 537

原创 BestCoder Round #83 1001 zxa and set

题意:给出n个数的集合,求所有奇子集的最小值之和与偶子集的最小值之和的差。找一个元素为最小元素的集合,当集合元素大于1时,奇数和偶数子集的个数是相等的,所以差为0。如果只有一个元素,也就是找的元素是最大元素时,奇数子集个数为1,偶数子集个数为0。所以本题其实就是找集合中的最大值。#include #include#includeusing namespace st

2016-05-14 21:27:51 673

原创 BestCoder Round #83 1004 zxa and xor

题意:给出n个非负整数序列,异或值为对所有两两之和进行异或的结果。有m个操作,每个操作把第x个数的值改成y,求每次操作后的异或值。直接暴力做居然过了。先初始化,计算出异或值,之后询问时,因为异或两次能够抵消,所有把原来的值都异或一次(消去原来的项),再异或一次得到新的值。暴力出奇迹!!#include #include#include#includeusing n

2016-05-14 21:25:19 500

原创 hdu 4282 A very hard mathematic problem 二分法

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4282题意:。告诉我们K的大小,问符合这个等式的X,Y,Z的组合有多少种。因为幂次的增长速度比较快,我们可以枚举X和Z,这样我们可以把三重循环降低到二重循环,然后二分搜索每一对(X,Z)是否存在对应的Y。对于A的B次方我们可以先打表储存,使用的时候直接调用,这样也可以降低一定的时间复杂度

2016-05-14 17:37:37 740

原创 hdu 1598 find the most comfortable road 枚举+并查集

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1598题意:给出n个城市,m条路径,若路径中的最大速度和最小速度差越小则越舒适,求给定节点的最小差。先对路径按速度排序,枚举路径作为最小速度,依次增加路径,直到两个城市连通,即可得到当前最小速度下最小差。取这些最小差的最小值即可。#include #include#include

2016-05-13 21:48:42 486

原创 hdu 4044 GeoDefense 树形DP+分组背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4044题意:一棵树,n个节点,叶子节点为基地。在节点处可以放大炮,每个节点都有ki种大炮,每种大炮有一个花费和一个攻击力。每个节点最多只能放一个大炮。一个怪物从节点1出发,可能走任意路径,需要在其到达基地前消灭。求金额m所能消灭怪物的最大HP值。根据题意,我们要使最薄弱的基地的攻击力最大

2016-05-13 17:55:30 660

原创 hdu 4003 Find Metal Mineral 树形DP

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4003题意:有n个矿,矿之间有n-1条路,每条路有相应花费。有k个机器人,从s点出发,求遍历每个矿的最小花费。对于一个根节点s,如果机器人足够遍历所有的子树,可以看做常规的树状dp,分配c个机器人去遍历子树,求最优解。如果机器人不够时,那么就从别的子树那里借一些机器人,从根节点出法,

2016-05-12 22:23:18 661

原创 hdu 1561 The more, The Better 树形背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561题意:给出n个城堡,每个城堡里有若干宝物。有些城堡攻占之前要先攻占另一座城堡。求攻占m座城堡的最大宝物。给出的输入可以看出,每个城堡都有一个或零个父亲节点。也就是这些城堡组成了森林。我们可以设置一个0号城堡,作为每一个没有父亲节点的父亲。这样就简化成我们熟悉的树形背包问题。0号城堡

2016-05-11 16:35:44 538

原创 【算法作业】 循环赛问题 分治算法

题目:设有N个运动员要进行网球循环赛,设计一个满足以下要求的比赛日程表(1)每个选手必须与其他n-1个选手各赛一次(2)每个选手一天只能赛一次(3)当n 是偶数,循环赛进行n-1天,当n是奇数,循环赛进行n天。 思路分析:如果n是奇数,其实就等于n+1种情况下将第n+1号选手轮空。所以只要考虑n是偶数的情况。用分治的思想来做,转换成n/2的子问题。考虑两种情况:

2016-05-11 15:07:30 9289 4

原创 hdu 1011 Starship Troopers 树形背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1011题意:有n个洞,每个洞有若干虫子和脑子,洞之间相连形成一棵树。你有m个士兵,一个士兵可以打10只虫子,士兵留下后就不能走了。从一号洞开始打,求获得最多的脑子。树形背包。如果你在某一个洞里,有m个士兵。你可以选择派遣k个士兵去攻打与洞相连的某个子树。可以先用递归算出子树的情况。这类似

2016-05-11 09:42:53 1371

原创 hdu 3535 AreYouBusy 混合背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3535题意:有三种任务,至少完成一个,至多完成一个,任意完成。现在给出k组任务,每组任务都属于三种任务的一种。每个任务都会消耗时间,获得幸福感。求时间T内的最大满足感。三种背包的混合。还是考察对背包问题的理解。显然一维已经满足不了要求了,我们设d[k][j]代表第k组容量为j时获得的最大

2016-05-08 08:55:47 1041

原创 hdu 3810 Magina 搜索+队列模拟分组背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3810题意:有n个地方有怪,杀死怪消耗时间得到金钱。在某些怪处可以瞬移到另一些怪处(双向),不花费时间。求取得金钱M的最小时间。首先,这是一张无向图,可以看成若干个连通分量。敌法可以一个连通分量内任意移动,因为不消耗时间。然后这题就变成了一个分组背包的问题。每个组内是一个背包问题,对

2016-05-07 10:33:13 1091

原创 hdu 3033 I love sneakers! 分组背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3033题意:给出k组品牌的鞋,每组品牌若干型号鞋,每种型号的鞋给出花费,价值。每种品牌的鞋至少买一双,而每种型号的鞋只能买一双。求买鞋的最大价值。分组背包问题的变种。分组背包问题要求每组至多取一样。而这题要求每组至少取一样。思想还是一样的。用d[k][j]表示花费在j元以内,买k组鞋的最大价

2016-05-06 20:50:57 834

原创 hdu 1712 ACboy needs your help 分组背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1712题意:有n个课程,每个课程用不同的时间学习能得到不同的收获。求m天能得到的最大收获。将每个课程看成一组物品,其中一个时间对应一个物品。这种物品中只可以选一个。一共分为n组物品。转化成了分组背包的模板。背包九讲中分组背包的介绍:这个问题变成了每组物品有若干种策略:是选择本组的某一件,

2016-05-06 19:30:26 941

原创 hdu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 多重背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2191题意:n元钱,m种大米,给出每种大米的价格,重量,袋数,求能买的最大重量多重背包的模板题#include #include#include#include#define N 110using namespace std;int d[N],n,m;void compl

2016-05-06 19:01:43 535

原创 hdu 1059 Dividing 多重背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1059题意:有价值分别为1到6的六种弹珠,给出每种弹珠的数量。判断是否能将弹珠分成两份,使其价值相等。转换成多重背包问题。物品的代价等于物品的价值, 背包容量为总代价的一半。多重背包跑一遍后判读背包的最大价值是否等于总价值的一半。为什么可以这样做?因为物品的代价等于价值。若该状态下的最大价值

2016-05-06 18:38:47 1387

原创 hdu 2126 Buy the souvenirs 01背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2126题意:给出n件物品的价格。求用m元钱最多能买几件物品,在此情况下有多少种方案?用dj记录j元最多买多少件物品,pj记录j元买最多物品的情况下的方案。注意分为  d[j]#include #include#include#include#define N 550using n

2016-05-04 15:21:48 548

原创 hdu 3466 Proud Merchants 01背包

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3466题意:买东西,每个东西有三个特征值,p代表价格,q代表你手中钱必须不低于q才能买这个物品,v代表得到的价值,求用手中的钱买到的最大价值。由于   f[j]=max(f[j],f[j-p[i]]+v[i])   此时 f[j-p[i]] 必须已经被计算过。而对于每个物品i,j-p[i] 最小

2016-05-03 20:51:37 638

原创 hdu 2639 Bone Collector II 第k大01背包

题目链接题意:求第k大的01背包。每次比较时保存前k大的情况。#include #include#include#include#define N 1100using namespace std;int d[N][N],v[N],w[N],a[N],b[N];int main(){ int T,n,m,K; cin>>T; while(T-

2016-05-03 19:57:47 747

原创 hdu 2955 Robberies 01背包问题

题目链接题意:给出总概率P,银行个数n。每个银行有价值vi,被抓概率pi。求被抓概率不大于P所抢到的最大价值。由于这题的概率是小数。我们把概率看成价值,价值看成容量。di表示的是抢到价值时最大不被抓率。#include #include#include#include#define INF 1e11#define N 11000using namespace std;i

2016-05-01 11:02:34 437

计算机网络第五版 严伟

计算机网络第五版 严伟,Andrew S.Tanenbaum

2016-05-07

空空如也

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

TA关注的人

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