- 博客(33)
- 收藏
- 关注
转载 new与malloc的区别,以及内存分配浅析
从函数声明上可以看出。malloc 和 new 至少有两个不同: new 返回指定类型的指针,并且可以自动计算所需要大小。比如:int *p;p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);或:int* parr;parr = new int [100]; //返回类型为 int* 类型(整数型指针),分配大小为 sizeo
2015-12-31 19:06:33 428
原创 hihocder 1181 : 欧拉路·二
因为相连的两个数字总是相同的,不妨我们只写一次,那么这个例子可以写成:3-2-4-3-5-1。6个数字刚好有5个间隙,每个间隙两边的数字由恰好对应了一块骨牌。如果我们将每一个数字看作一个点,每一块骨牌看作一条边。你觉得是怎么样的呢?小Ho:以这个例子来说的话,就是:要把所有的骨牌连起来,也就是把所有的边都走一次。咦,这不是欧拉路问题么!小Hi:没错,这问题其
2015-12-30 21:37:36 257
原创 hdu 1494(DP)
跑跑卡丁车Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣。这款游戏的特别之处是你可以通过漂移来获得一种加速卡,用这种加速卡可以在有限的时间里提
2015-12-30 17:30:33 360
转载 hdu 5045(状态压缩dp)
ContestTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/OthersProblem DescriptionIn the ACM International Collegiate Programming Contest, each team consist of thre
2015-12-30 12:03:54 345
原创 hihocoder 1127 : 二分图三·二分图最小点覆盖和最大独立集
最大独立集问题:在图G中选取尽可能多的点,使得任意两个点之间没有连边。结论:最大独立集的点数 = 总点数 - 二分图最大匹配证明:假设最大独立集的点数为|U|,二分图最大匹配的匹配数为|M|,最大匹配中所有顶点集合为EM先证明 |U|≤|V|-|M|M中任意一条边的两个端点是连接的,所有对于M中的边必有一个端点不在|U|集合中,所以|M|≤|V|-|U|
2015-12-29 17:57:28 497
原创 hihocoder 1122 : 二分图二•二分图最大匹配之匈牙利算法
首先,匈牙利算法是用来求二分图的最大匹配的,它的核心问题就是找增广路径。匈牙利算法的时间复杂度为O(VE),其中V为二分图左边的顶点数,E为二分图中边的数目。现在我们来看看增广路有哪些性质:(1)有奇数条边。(2)起点在二分图的左半边,终点在右半边。(3)路径上的点一定是一个在左半边,一个在右半边,交替出现。(4)整条路径上没
2015-12-29 17:35:47 1088
原创 hdu 5418(状态压缩dp+Floyd)
点击打开链接解题思路:这道题目和TSP问题很相似,唯一不同的是同一个点可以重复走几次。。。。这道题目只有16个顶点,所以很容易想到状态压缩dp,dp[i][j]表示到达顶点i时的状态为j的最小花费,那么状态方程也很容易推理出来dp[i][j] = min(dp[k][j-1AC:#include#include#includeusing namespace s
2015-12-28 15:26:29 389
原创 hihocoder 1107 : Shortest Proper Prefix
题目大意给定N个单词,求满足下列条件的前缀集合S:集合中任意前缀对应的单词数量小于等于5对于集合中任意前缀p,p的扩展前缀不属于该集合对于第二个条件,举个例子来说:假设ab对应了5个单词,abc对应了3个单词,abd对应了2个单词。因为ab对应的单词数量少于等于5,所以ab属于集合S。虽然abc和abd对应的单词数量均小于等于5,但由于其为ab的扩展,所以不
2015-12-27 18:01:28 432
转载 hdu 1074(状态压缩dp)
Doing HomeworkTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionIgnatius has just come back school from the 30th ACM/ICPC. Now he has a lo
2015-12-26 09:45:44 258
原创 hdu 1158(DP)
Employment PlanningTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionA project manager wants to determine the number of the workers needed
2015-12-24 17:18:43 230
原创 hdu 2577(DP)
How to TypeTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionPirates have finished developing the typing software. He called Cathy to test
2015-12-24 15:37:15 267
原创 hdu 1800 (字符串哈希)
Flying to the MarsTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionIn the year 8888, the Earth is ruled by the PPF Empire . As the
2015-12-23 15:30:18 312
转载 hdu 2457(AC自动机+DP)
DNA repairTime Limit: 5000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionBiologists finally invent techniques of repairing DNA that contains segments c
2015-12-19 20:11:08 497
原创 ccf 无线网络
问题描述 目前在一个很大的平面房间里有 n 个无线路由器,每个无线路由器都固定在某个点上。任何两个无线路由器只要距离不超过 r 就能互相建立网络连接。 除此以外,另有 m 个可以摆放无线路由器的位置。你可以在这些位置中选择至多 k 个增设新的路由器。 你的目标是使得第 1 个路由器和第 2 个路由器之间的网络连接经过尽量少的中转路由器。请问在最优方案下中转路由器的最少个数是多少?
2015-12-18 17:39:10 369
原创 hihocoder #1055 : 刷油漆(树形dp)
当一个节点被选择后,它的所有祖先节点也要被选择该条件换一个说法,可以解释为:只有当选择了一个节点后,我们才可以选择它的子节点。我们首先建立状态f[i][k],f[i][k]表示以i节点为根的子树,在满足条件一的情况下,选择至多k的节点能够得到的最大权值。则可以写出状态转移情况:选择i节点:f[i][k]等于w[i]加上所有子节点选择k-1个节点的最大权值不选择i节点
2015-12-17 07:56:44 584
转载 poj 1821(DP+单调队列优化)
FenceTime Limit: 1000MS Memory Limit: 30000K DescriptionA team of k (1 <= K <= 100) workers should paint a fence which contains N (1 <= N <= 16 000) planks numb
2015-12-15 19:52:39 440
转载 hdu 1269(Tarjan求强连通分量)
这道题目就是求强连通分量。。。这里采用的是Tarjan算法:http://m.blog.csdn.net/blog/qq574857122/16361033AC代码:#includev#include#includeusing namespace std;const int maxn = 10005;struct Edge{ int key,next;
2015-12-15 09:24:52 395
转载 poj 1745
解题思路:dp表示的为dp[i][j]前i个数是否能够组成余数为j,是则为1 #include using namespace std;#define MAXN 10001int dp[MAXN][101];int posmod(int n,int k){ //正数取余 n = n % k; while(n < 0) n+=k; return n;}int main(
2015-12-13 20:46:21 268
转载 hdu 3973(hash+线段树)
AC's StringTime Limit: 30000/10000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionYou are given some words {Wi}. Then our stupid AC will give you a very long
2015-12-12 13:05:17 592
转载 hdu 1381
Crazy SearchTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2299 Accepted Submission(s): 852Problem DescriptionMany people like
2015-12-12 10:26:19 397
原创 hdu 2428(哈希)
StarsTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Problem Description Lucy loves stars very much. There are N (1 <= N <= 1000) stars in the sky. Assu
2015-12-12 09:27:18 388
原创 hdu 1881(简单01背包)
毕业bgTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem Description每年毕业的季节都会有大量毕业生发起狂欢,好朋友们相约吃散伙饭,网络上称为“bg”。参加不同团体的bg会有不同的感觉,我们可以用一个非负整数为每个bg定义一个“快乐度”。
2015-12-11 17:02:58 379
转载 hdu4821 字符串hash
参考博客:点击打开链接字符串hash典例。 这里用的是bkdrhash 法。也是最常用的冲突最少的一种。原理:把字符串和数值对应。这里用base=31(一般用质数),先是扫一遍,处理处每个位子到结尾构成的串的hash值(倒过来的),然后长度为l的子串的haash值就好算了。之后枚举开头l个,每次向后翻滚,复杂度max(L*M, L*(S.SIZE/M))可以过,
2015-12-10 21:32:39 384
转载 poj 2503(字符串hash)
解题思路(copy别人的):通过ELFhash函数来做。冲突处理则是用到链表的方法。#include #include #include #define N 100001#define strSize 15using namespace std;struct Hash{ bool used; char fn[strSize],en[strSize];
2015-12-10 16:23:34 450
原创 poj 1160(Post Office)
http://poj.org/problem?id=1160先讲讲我的思路:这道题首先很容易想到是用动态规划思想,所以我定义了一个二维数组dp[i][j],表示前j个位置,修建了i个邮局。所以推导出的状态转移方程为:dp[i][j] = min{dp[i][j-1]+第j个位置到第i个邮箱位置的差,dp[i-1][k] + 第j个位置到第k+1个位置的差},实际上花括号里,左边代表
2015-12-10 10:36:52 521
原创 poj 2231Moo Volume
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 20699 Accepted: 6249DescriptionFarmer John has received a noise complaint from his neighbor, Farmer Bob, stating t
2015-12-08 19:47:06 346
转载 poj2397 Spiderman
SpidermanTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 1634 Accepted: 624 Special JudgeDescriptionStaying fit is important for every superhero, an
2015-12-08 17:14:35 513
原创 Colorful Lecture Note(栈的模拟)
时间限制:10000ms单点时限:1000ms内存限制:256MB描述Little Hi is writing an algorithm lecture note for Little Ho. To make the note more comprehensible, Little Hi tries to color some of the text. Un
2015-12-07 15:37:26 457
原创 nyoj203(迪杰斯特拉+01背包)
三国志时间限制:3000 ms | 内存限制:65535 KB难度:5描述《三国志》是一款很经典的经营策略类游戏。我们的小白同学是这款游戏的忠实玩家。现在他把游戏简化一下,地图上只有他一方势力,现在他只有一个城池,而他周边有一些无人占的空城,但是这些空城中有很多不同数量的同种财宝。我们的小白同学虎视眈眈的看着这些城池中的财宝。按照游戏的规则,他只
2015-12-06 21:24:50 501
转载 nyoj99(欧拉路)
单词拼接 时间限制:3000 ms | 内存限制:65535 KB 难度:5 描述 给你一些单词,请你判断能否把它们首尾串起来串成一串。前一个单词的结尾应该与下一个单词的道字母相同。如alohadogarachnidgophertigerrat可以拼接成:aloha.arachnid.dog.gopher.rat.tiger输入 第一行是一个整数N(0#include<iostream
2015-12-06 17:41:45 377
原创 nyoj 211 (Floyd算法求传递闭包)
Cow Contest时间限制:1000 ms | 内存限制:65535 KB难度:4描述N (1 ≤ N ≤ 100) cows, conveniently numbered 1..N, are participating in a programming contest. As we all know, some cows code better t
2015-12-06 12:49:37 391
原创 nyoj1204
魔法少女 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 前些时间虚渊玄的巨献小圆着实火了一把。 在黑长直(小炎)往上爬楼去对抗魔女之夜时,她遇到了一个问题想请你帮忙。 因为魔女之夜是悬浮在半空的,所以她必须要爬楼,而那座废墟一共有n层,而且每层高度不同,这造成小炎爬每层的时间也不同。不过当然,小炎会时间魔法,可以瞬间飞过一层或者两层[即不耗时]。但每次瞬移的时
2015-12-05 15:31:13 397
转载 nyoj 229
http://acm.nyist.net/JudgeOnline/problem.php?pid=229#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int MAXN = 110;int Ap[MAXN];int Bp[MAXN];int dp[MAXN];//dp[i]表示完成i个工
2015-12-04 23:02:07 479
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人