06 2015 档案

摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1536不知道为何怎么写都写不对.这题可以模拟.虽然题目保证一定可以从原串变成目标串,但是不一定可以变成两种目标串.所以需要判断下.统计原串中0和1的个数,然后计算目标串中0可能的个数,1可能的个数.计... 阅读全文
posted @ 2015-06-29 20:51 NowAndForever 阅读(287) 评论(0) 推荐(0)
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1538很奇妙的一个题,开始没有思路.问了别人才知道.题目的意思可以理解成上图中,从0点开始向右走,走到n+1点需要最少步数。思路是:因为走某些点时,必须先走另外一点,所以可以用贪心算法,将限制条件可以... 阅读全文
posted @ 2015-06-29 19:13 NowAndForever 阅读(225) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=2195对km算法不理解,模板用的也不好。下面是大神的解释。KM算法的要点是在相等子图中寻找完备匹配,其正确性的基石是:任何一个匹配的权值之和都不大于所有顶点的顶标之和,而能够取到相等的必然是最大权匹配。左右两边点数不等时,KM算法的正确性也是可以... 阅读全文
posted @ 2015-06-29 17:04 NowAndForever 阅读(336) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1565两道题只是数据范围不同,都是求的最大点权独立集.我们可以把下标之和为奇数的分成一个集合,把下标之和为偶数的分成一个集合,然后构造一个源点向其中一个集合连边,另一个集合向汇点连边.权值都为P[i][j].然后由... 阅读全文
posted @ 2015-06-29 08:56 NowAndForever 阅读(226) 评论(0) 推荐(0)
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1537因为给出的式子是必定合法的,只要用两个栈分别保存符号和数字.算出答案后和从左至右算的答案比对即可. 1 #include 2 #include 3 #include 4 #include ... 阅读全文
posted @ 2015-06-28 15:23 NowAndForever 阅读(244) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2222求目标串出现了几个模式串. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include ... 阅读全文
posted @ 2015-06-28 14:53 NowAndForever 阅读(197) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1127可以用一个映射,把从头到当前位置的出现了多少个不同的字符计算出来,不断向区间末尾推进,如果包含了A-Z就可以更新最短长度,然后把开头的字符减1,表示向前推进一位.这样就... 阅读全文
posted @ 2015-06-27 10:31 NowAndForever 阅读(428) 评论(2) 推荐(1)
摘要:输入一个字符矩阵,'.'代表洞,'#'代表草地。可以把草改成洞花费为d,或者把洞改成草花费为f,最后还要在草和洞之间修围栏花费为b。首先把最外一圈的洞变成草,并累加花费。增加一个源点和一个汇点,源点连接每个草地,汇点连接每个洞。源点与最外一圈的草地连一条容量无穷大的边,与其他草地连一条容量为d的边。... 阅读全文
posted @ 2015-06-26 21:04 NowAndForever 阅读(235) 评论(0) 推荐(0)
摘要:参考:http://www.cnblogs.com/jackge/archive/2013/01/05/2846006.html总结一下,如果对于next数组中的 i,符合i % ( i - next[i] ) == 0 && next[i] != 0 ,则说明字符串循环,而且循环节长度为: i ... 阅读全文
posted @ 2015-06-26 08:51 NowAndForever 阅读(271) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1068因为没有指定性别,所以要拆点,把i拆分i和i’ 那么U=V-M (M是最大匹配,U最大独立集,V是顶点数)2U=2V-2M 所以 U=n-M'/2. (没怎么看明白) 但是不这样会wa. 1 #include... 阅读全文
posted @ 2015-06-25 22:35 NowAndForever 阅读(250) 评论(0) 推荐(0)
摘要:给定一些长方形的坐标,求长方形的面积与围住这些长方形面积的凸包的百分比.首先假设长方形都是水平放置,那么根据长和宽还有中心坐标,可以求出四个顶点的坐标,然后求出从中心指向顶点的向量,和角度转化成的弧度,向量旋转之后得到一个新的向量是由中心指向新的顶点,加上中心点就得到新的顶点的坐标.可以画图理解. ... 阅读全文
posted @ 2015-06-25 09:20 NowAndForever 阅读(235) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1278因为圆心都在x轴上,把每个圆转化成线段后,按线段的起点排序,那么对于每个圆都要从后面找出起点大于当前圆转化成的线段终点的一个点,这个点之后的圆都会与当前圆相离.因为按起... 阅读全文
posted @ 2015-06-24 19:13 NowAndForever 阅读(356) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1428开始一直题意理解错误.首先按照开始时间从小到大排序.其实只要维护一个结束时间的最小堆,每次比较开始时间和堆中最小时间的大小,如果比它大就放入堆中并且时间就要变成当前任务... 阅读全文
posted @ 2015-06-22 22:45 NowAndForever 阅读(699) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1298求出圆心到三条线段的最短距离,然后判断是否有顶点在圆外,就把全部情况举出来。 1 #include 2 #include 3 #include 4 #in... 阅读全文
posted @ 2015-06-22 20:54 NowAndForever 阅读(678) 评论(0) 推荐(0)
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3829给定一个字符串(只包含数字和星号)可以在字符串的任意位置添加一个数字,还可以交换任意两个字符,问需要多少步能得到一个合法后缀表达式.如果数字=2数字减1,否则就要从后往前... 阅读全文
posted @ 2015-06-21 20:52 NowAndForever 阅读(186) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1242 1 #include 2 typedef long long ll; 3 const int mod = 1e9+9; 4 struct Mat 5 { 6 ... 阅读全文
posted @ 2015-06-21 16:42 NowAndForever 阅读(258) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1113这个题因为m比较大,所以不能递归求解,需要换成循环的形式. 1 #include 2 typedef long long ll; 3 const int mod = ... 阅读全文
posted @ 2015-06-21 16:08 NowAndForever 阅读(188) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1151在一个城市里有n个地点和k条道路,道路都是单向的,并且不存在环.(DAG)现在伞兵需要去n个地点视察,伞兵只能沿着路的方向走,问最少需要多少伞兵。DAG的最小路径覆盖是指找最小数目的互相不相交的有向路径,满足... 阅读全文
posted @ 2015-06-20 18:47 NowAndForever 阅读(373) 评论(0) 推荐(0)
摘要:你住在村庄A,每天需要过很多条河到另一个村庄B上班,B在A的右边,所有的河都在A,B之间,幸运的是每条船上都有自由移动的自动船,因此只要到达河左岸然后等船过来,在右岸下船,上船之后船的速度不变.现在问从A到B的期望时间是多少,假设在出发时船的位置都是随机分布.人在 陆地上行走的速度为1.根据数学期望... 阅读全文
posted @ 2015-06-20 14:11 NowAndForever 阅读(238) 评论(0) 推荐(0)
摘要:设事件B为一共有r个人买了东西,设事件Ai为第i个人买了东西。 那么这个题目实际上就是求P(Ai|B),而P(Ai|B)=P(AiB)/P(B),其中P(AiB)表示事件Ai与事件B同时发生的概率,同时总状态并不多,因此我们可以枚举买东西的状态预处理出P(AiB)和P(B),再代入计算即可。枚举就... 阅读全文
posted @ 2015-06-20 13:46 NowAndForever 阅读(179) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3071参考博客:http://blog.csdn.net/libin56842/article/details/10054725不得不说 概率dp很难理解!!这题最主要的就是判断是否相邻,可以用位运算找规律求出.p,q得到的是每一轮0-m-1个球... 阅读全文
posted @ 2015-06-19 20:31 NowAndForever 阅读(185) 评论(0) 推荐(0)
摘要:常规思路:定义 dp[i]:=以a[i]为末尾元素的最长上升子序列的长度,以a[i]结尾的上升序列是:只包含a[i]的序列,在满足j 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include ... 阅读全文
posted @ 2015-06-18 20:18 NowAndForever 阅读(176) 评论(0) 推荐(0)
摘要:归并排序:时间复杂度为O(nlogn) 这是该算法中最好、最坏和平均的时间性能。空间复杂度为 O(n)归并排序比较占用内存,但却是一种效率高且稳定的算法。速度仅次于快速排序,为稳定排序算法,一般用于对总体无序,但是各子项相对有序的数列。具体思路是,在归并的过程中计算每个小区间的逆序对数,进而计算出大... 阅读全文
posted @ 2015-06-18 18:47 NowAndForever 阅读(226) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #in... 阅读全文
posted @ 2015-06-16 21:52 NowAndForever 阅读(323) 评论(0) 推荐(0)
摘要:http://acm.fzu.edu.cn/problem.php?pid=2171成段增减,区间求和.add累加更新的次数。#include #include #include #include #include #include #include #include #include #inclu... 阅读全文
posted @ 2015-06-16 18:18 NowAndForever 阅读(147) 评论(0) 推荐(0)
摘要:http://hihocoder.com/problemset/problem/1015因为kmp算法只预处理b串,因而适合求解,给定一个串和一群不同的a串,问b是那些a串的子串.或者查找模式串在原串出现了几次. 1 #include 2 #include 3 #include 4 #incl... 阅读全文
posted @ 2015-06-16 12:04 NowAndForever 阅读(252) 评论(0) 推荐(0)
摘要:http://hihocoder.com/contest/hiho50/problem/1这题有重边,所以邻接矩阵用来统计节点u,v之间有多少条边相连,并且用另外一个数组统计每个节点的入度.然后查找一个入度为奇数的点进行dfs(如果不存在就从n开始),dfs的时候每次经过一条边就把这条边删除,因为一... 阅读全文
posted @ 2015-06-15 22:45 NowAndForever 阅读(156) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1150有两种机器,A机器有n种模式,B机器有m种模式,现在有k个任务需要执行,没切换一个任务机器就需要重启一次,如果任务i在机器A上执行,A机器需要一个对应的模式A,如果在机器B上执行,机器A需要一个模式B.一直就... 阅读全文
posted @ 2015-06-15 18:40 NowAndForever 阅读(161) 评论(0) 推荐(0)
摘要:http://hihocoder.com/contest/hiho49/problem/1给定无孤立结点图G,若存在一条路,经过图中每边一次且仅一次,该条路称为欧拉路。一个无向图存在欧拉路当且仅当该图是连通的且有且只有2个点的度数是奇数,此时这两个点只能作为欧拉路径的起点和终点。若图中没有奇数度的点... 阅读全文
posted @ 2015-06-13 16:22 NowAndForever 阅读(143) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1698n个数初始每个数的价值为1,接下来有m个更新,每次x,y,z 把x,y区间的数的价值更新为z(1 2 #include 3 #include 4 #include 5 #include 6 ... 阅读全文
posted @ 2015-06-12 20:25 NowAndForever 阅读(175) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1532求最大的流量,用dinic算法就好。 1 // Rujia Liu 2 // 因为图较大,所以采用Dinic而不是EdmondsKarp 3 // 得益于接口一致性,读者无须理解Dinic就能使用它。 ... 阅读全文
posted @ 2015-06-12 19:31 NowAndForever 阅读(156) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1394很基础的线段树.先查询在更新,如果后面的数比前面的数小肯定会查询到前面已经更新过的值,这时候返回的sum就是当前数的逆序数.这样查询完之后得到初始数列的逆序数,要求得所有序列的最小逆序数,还需要循环一次.设初... 阅读全文
posted @ 2015-06-12 17:26 NowAndForever 阅读(160) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1251建树之后 查询即可.G++提交 ME不知道为什么,c++就对了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include ... 阅读全文
posted @ 2015-06-12 17:17 NowAndForever 阅读(140) 评论(0) 推荐(0)
摘要:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1333这题多了一个限制条件是每一条路都会规律的开放a时间关闭b时间,车子必须在开放的时候进入,在关闭之前出来,那么在加边的时候只要权值>开放时间的就不用加进去了.还有一个问题是重边,那么用邻接表存储就... 阅读全文
posted @ 2015-06-12 13:26 NowAndForever 阅读(179) 评论(0) 推荐(0)
摘要:百度百科:http://baike.baidu.com/link?url=O0QvxbOY8SVBjrIl6nF6EvMHSslgcEIxfXSoty5SbkA7QjbWZjTWARzwTQsKKbSD5mlASljndZrqYjle_qwcmq#reference-[1]-4700690-wrap... 阅读全文
posted @ 2015-06-12 12:43 NowAndForever 阅读(147) 评论(0) 推荐(0)
摘要:http://acm.fzu.edu.cn/problem.php?pid=2132N个数已经排成非递减顺序,那么每次可以取 前m->n个在x前面.取前m个在x前面的概率是 C(n,m)*x^m*(1-x)^(n-m)依次递推即可. 1 #include 2 #include 3 #inclu... 阅读全文
posted @ 2015-06-11 19:33 NowAndForever 阅读(141) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1010http://poj.org/problem?id=1338首先poj这题要找出第n个丑数,想到要打表,因为每一个丑数都是由前一个丑数*2或者*3或者*5得到,每次取3... 阅读全文
posted @ 2015-06-11 15:08 NowAndForever 阅读(233) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1095竟然错了10次,最后还是用字典树搞过去的,不过这题解法很多,二分,哈希,STL,排序 都可以搞。字典树建树的时候保存节点出现的次数,因为可能大小写都有,所以开next[... 阅读全文
posted @ 2015-06-11 11:16 NowAndForever 阅读(496) 评论(2) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126http://acm.hdu.edu.cn/showproblem.php?pid=1005注意上面一题和下面一题的区别,上面A,B可能取负数,但是mod跟c++中%是... 阅读全文
posted @ 2015-06-11 11:08 NowAndForever 阅读(385) 评论(0) 推荐(0)
摘要:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11544&courseid=0最小最大表示法:求环形字符串的最小最大字典序:参考:http://www.cnblogs.com/ziyi--caolu/p/3245132.htm... 阅读全文
posted @ 2015-06-10 20:25 NowAndForever 阅读(269) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2059初始把起点和终点也算做充电站,设dp[i]是到第i个充电站的最短时间,那么dp[n+1]即是乌龟到达终点的最短时间.每次到达第i个点,j:0-i-1;去找能不能用从第j个充电站直接到达 i 来更新最短时间。注... 阅读全文
posted @ 2015-06-10 20:21 NowAndForever 阅读(205) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2058求1-N多少个连续字段和等于M.假设 从i开始长度为k的字段和等于M,那么 ( i+ i+k-1) * k/2=M即(2*i+k-1)*k==2M 那么 从k 2 #include 3 int main()... 阅读全文
posted @ 2015-06-10 17:42 NowAndForever 阅读(163) 评论(0) 推荐(0)
摘要:http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11545只是要求不经过相同的边,那么每次找出一条增广路T--,判断T 2 # include 3 # include 4 # include 5 using namespa... 阅读全文
posted @ 2015-06-10 17:13 NowAndForever 阅读(203) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2066把与草儿相连的城市最短距离置为0,然后进行dijkstra,在t个城市里找出距离最近的一个即可。 1 #include 2 #include 3 #include 4 #include 5 using... 阅读全文
posted @ 2015-06-10 15:18 NowAndForever 阅读(156) 评论(0) 推荐(0)
摘要:Description在一个奇怪的村子中,很多人的名字都很长,比如aaaaa, bbb and abababab。名字这么长,叫全名显然起来很不方便。所以村民之间一般只叫名字的前缀。比如叫'aaaaa'的时候可以只叫'aaa',因为没有第二个人名字的前三个字母是'aaa'。不过你不能叫'a',因为有... 阅读全文
posted @ 2015-06-10 11:22 NowAndForever 阅读(216) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3549Ford-Fulkerson算法.#include #include #include #include #include #include #include #include #include #inclu... 阅读全文
posted @ 2015-06-10 09:44 NowAndForever 阅读(184) 评论(0) 推荐(0)
摘要:http://poj.org/problem?id=3041在n*n的网格中有K颗小行星,小行星i的位置是(Ri,Ci),现在有一个强有力的武器能够用一发光速将一整行或一整列的小行星轰为灰烬,想要利用这个武器摧毁所有的小行星最少需要几发光束.主要是构图,将每一行当成一个点,构成集合1,每一列也当成一... 阅读全文
posted @ 2015-06-09 19:49 NowAndForever 阅读(196) 评论(0) 推荐(0)
摘要:http://www.51nod.com/onlineJudge/questionCode.html#problemId=1007&noticeId=15020求出n个数的和sum,然后用sum/2作为背包容量,让n个数去放,求出一个最大价值,那么这就是其中一组的和,另外一组的和就是sum-dp[s... 阅读全文
posted @ 2015-06-04 14:50 NowAndForever 阅读(279) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1113给定一个字典,然后每次输入一个字符串问字典中是否有单词与给定的字符串的所有字母一样(顺序可以打乱),按字典序输出字典中的原字符串。我开始是直接用了 sort, 用一个结构体记录了所有字符串,和相应下标,输出的... 阅读全文
posted @ 2015-06-04 11:08 NowAndForever 阅读(165) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1104注意这里定义的取模运算和计算机的%是不一样的,这里的取模只会得到非负数.而%可以得到正数和负数.所以需要a mod b = (a % b + b) % b 这样转换得到。并且,由于新的N可以很大,所以我们每一... 阅读全文
posted @ 2015-06-03 19:10 NowAndForever 阅读(184) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1429终于开始能够做状态压缩的题了,虽然这只是状态压缩里面一道很简单的题.状态压缩就是用二进制的思想来表示状态.总共有10种钥匙,那么开一个(1#include #include #include #include... 阅读全文
posted @ 2015-06-03 16:03 NowAndForever 阅读(197) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2851首先有n层,每层的路径都有一个起点和终点和对应的危险值,如果某两层之间有交集,就能从这一层上到另外一层,不过只能上不能下.给定m个目标点求出到目标点的最小危险值.因为权值不一样,所以不能用bfs,dijkst... 阅读全文
posted @ 2015-06-03 15:53 NowAndForever 阅读(290) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2822给定起点和终点,问从起点到终点需要挖几次只有从# 到 .或者从. 到 . 才需要挖一次。#include #include #include using namespace std;const int max... 阅读全文
posted @ 2015-06-02 21:13 NowAndForever 阅读(192) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2645找出每个点到距离最近的车站的距离。直接bfs就好。 1 #include 2 #include 3 #include 4 using namespace std; 5 int n,m; 6 int ma... 阅读全文
posted @ 2015-06-02 21:04 NowAndForever 阅读(174) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1627给定 n 和 L 找出第n个范围在0-L之内的字符串,字符串要求没有相邻的子串是相同的。按照格式输出。这个题的关键在于判断字符串是否是符合要求的字符串.枚举字符串所有子串可能的长度,然后判断即可。#inclu... 阅读全文
posted @ 2015-06-02 20:16 NowAndForever 阅读(171) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1172这个题换一种想法,可以找出四位数中所有满足条件的数看是否只有一个. 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include... 阅读全文
posted @ 2015-06-02 15:21 NowAndForever 阅读(362) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2660f[v][u]=max(f[v][u],f[v-1][u-w[i]]+v[i];注意中间一层必须逆序循环. 1 #include 2 #include 3 #include 4 using namesp... 阅读全文
posted @ 2015-06-01 20:49 NowAndForever 阅读(224) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2266给一个字符串和一个数n,在字符串中间可以插入+或者 -,问有多少种等于n的情况.要注意任意两个数之间都可以插入也可以不插入,注意枚举完所有情况.#include #include char s[15];int... 阅读全文
posted @ 2015-06-01 20:22 NowAndForever 阅读(157) 评论(0) 推荐(0)
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1704遇到标记过的就dfs,把隐含的标记,最后计数需要注意。 1 #include 2 #include 3 int n; 4 int vis[501][501]; 5 void dfs(int x,int y... 阅读全文
posted @ 2015-06-01 19:54 NowAndForever 阅读(187) 评论(0) 推荐(0)