自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KIJamesQi的博客

大神养成中。

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

原创 lightoj 1429 - Assassin`s Creed (II)

题意就是一个组织要杀人,道路是单向的,一个杀人者可以沿着某条路把所经过的点上的人全部杀完,点是可以重复经过的。问最少需要几个杀人者可以把所有的n个点上的人杀完。。。这题的难点在于点可以重复经过,而且图中含有环。。。。。环其实容易想到缩点,,,只是点重复经过怎么处理,因为要用二分图的性质的话,里面的边石不能重复的,所以这里的处理就是添加边进去,如果原图中u到v是可达的,那么u到v就新建一

2016-01-31 17:26:18 721

原创 lightoj 1403 - Air Raid

题目大意就是说一个无环DAG图,现在有空降兵可以从天而降。图中有n个节点,每个节点必须经过且只能经过一次。一个士兵可以沿着路一只走到尽头。。。显然就是最小边覆盖,与二分图的最大匹配有关,还是很简单的。有道升级版本lightoj1429。/*****************************************Author :Crazy_AC(JamesQi)

2016-01-31 17:17:15 377

原创 lightoj 1198 - Karate Competition

大意就是两个俱乐部对垒,每个俱乐部出战n个人,都有一个战斗值,1*1的对决,战斗值高的一方总是获胜。赢的得2分,平局1分,输了不得分。。。现在问最多你的俱乐部可以得多少分。。。。显然的最大权匹配,,,先出来出来两两之间对垒的得分情况,在就是裸的km了。/*****************************************Author :Crazy_AC(J

2016-01-31 11:20:16 406

原创 lightoj12221222 - Gift Packing

题意很简单,就是裸的km算法。//*******************************以下是转载的**********************************************二分图匹配算法总结 二分图最大匹配的匈牙利算法二分图是这样一个图,它的顶点可以分类两个集合X和Y,所有的边关联在两个顶点中,恰好一个属于集合X,另一个属于集合Y。

2016-01-31 10:52:02 343

原创 hdu5483Nux Walpurgis

题目意思就是求一张图上的最小生成树必须经过的边的最少条数。因为不含有重边,而且一颗确定的生成树要换边不换值的话就是同值的边进行变换。值不同必然边的数目也不同了。。。同值的边不能能替换的等价条件是这条边在这群同值边都成的图中是桥,结合kruskal算法。主要看能网上的题解才搞出来的。/*****************************************Author

2016-01-29 16:35:36 430

原创 hdu4081 Qin Shi Huang's National Road System

题目大意就是说,n个城市,修成一棵树,其中有一条边是可以用魔法的,这条边是不需要计费的,每个城市有住人,问修完所有的边的总路程是B,那条魔法修建边链接的两个城市的人口是A,求A/B的最大值。分析:一开始就能想到的是B小、A大。因为是修成树,所以B开始就直接是最小生成树的值了,同时记录两点路径上的最大边权。在就是枚举修建的魔法边,然后删掉两点间的最大边权值(前有做记录),这是直接算就是了,取最大

2016-01-29 14:06:30 366

原创 poj1679 The Unique MST

先推荐下次下生成树的相关概念问题的描述。http://blog.csdn.net/jarily/article/details/8883858这个懂了次小生成树的解法就是判断次小是否等于最小。。。。。。。就是模版!/*****************************************Author :Crazy_AC(JamesQi)Time

2016-01-27 23:23:28 311

原创 codeforces616D Longest k-Good Segment

滑动窗口,维护[l,r]。mp记录前面出现过的数的种数和每个数出现的次数。对于a[r]而言,能加入到当前的序列中的条件就是出现过或者是前面的种数小于k。否则就是l右移同时该数的数目减一,为0的话就种类减一。/*****************************************Author :Crazy_AC(JamesQi)Time :2015

2016-01-27 11:10:32 437

原创 lightoj 1316 - A Wedding Party

题目链接:http://lightoj.com/volume_showproblem.php?problem=1316分析分析:大意就是一个人要从0点走到n-1点,路中有些点有商店可以买礼物,所以这个人想买多点礼物,但是又要尽快的走到n-1点,这两者之间呢,礼物的多少优先,其次是路程长度。s 所以dp[statu][i]statu状态走完后停留在第i个商店,位置时shop[i]。然后转

2016-01-25 17:43:14 607

原创 lightoj 1281 - New Traffic System

题目链接:http://lightoj.com/volume_showproblem.php?problem=1281题目给出n个城市m条已存在的道路,以及通过该道路需要的时间,然后就是k条可以修建的,但是由于预算的问题,最多只能修建d条道路,问这种情况下从1到n-1的最小时间花费。不知道是被题目还是被自己逗了,,,真心没有读出来是单向边,wa得我都怀疑人生了。。。。/********

2016-01-23 10:40:30 561

原创 lightoj 1254 - Prison Break

题目链接:http://lightoj.com/volume_showproblem.php?problem=1254分析题意:说的是个凡人的逃跑,有辆汽车,其邮箱容量是cap这个就是多状态的最短路,据基础题。设定状态dis[u][r]表示到达u点汽车剩余油量为r时的最小费用。在就是对于每个城市要存的数据的,剩余油量,及对应的花费,然后就是点的标号。(i,j,k),优先队列中以费用小的

2016-01-22 17:32:54 745

原创 lightoj1021- Painful Bases

题目链接:http://lightoj.com/volume_showproblem.php?problem=1021求一个base进制下的合法数字s的组合当中能够整除k的个数。开始是暴利去做的,以为枚举后面几个数就好了,前面的只需要排列数,结果wa了,其实最要是这个本身我也觉得存在问题,所以就没在纠结,只是碰运气的。然后,base dp[i][j],i是状态,j是这个状态的数模k

2016-01-22 16:22:15 386

原创 lightoj 1018 - Brush (IV)

题目链接:http://lightoj.com/volume_showproblem.php?problem=1018题意分析:二分平面上有N个点,现在有一把可沿着任何方向走的刷子可以刷去这些点,问最少需要刷出多少条直线可以把点刷完?解题思路:这个是个比较典型的状压dp问题,首先N不大,可以用二进制表示每个点的状态,1表示还没有被刷掉,0表示被刷掉了。那么状态from中有num个1,如

2016-01-17 21:53:27 906

原创 lightoj 1017 - Brush (III)

而为坐标平面上给出n个点,问一把款w的刷子,横着刷k次最多能够刷掉多少个点。因为是横着刷,所以只考虑纵坐标。dp[i][k]表示前i个点刷k次最多能够刷的点数。。。然后就是枚举,不过要先处理完所有dp[i][1]的情况。。。开始想的是dp[i][j][k]表示区间[i,j]刷k次能够刷的最多点,,,但是转移出问题了。。。感觉无法转移状态。。。/*******************

2016-01-16 17:13:37 557

原创 lightoj 1013 - Love Calculator

先求个最长公共子序列的长度,dp1[i][j]表示装下X[1...i],Y[1...j]这两个串需要的最小长度。X[i] == Y[j],dp[i][j] = dp[i-1][j-1] + 1;X[i] != Y[j],   dp[i][j] = min(dp[i-1][j],dp[i][j-1]) + 1;然后就是dp2[i][j][k]表示X串的前i个和Y的前j个构成长度为k的串的

2016-01-16 14:13:54 334

原创 Dynamic Programming--Longest Common Subsequence

问题描述:给定两个序列:X[1...m],Y[1...n],求在两个序列中同时出现的最长序列的长度。(不必是连续的)穷举法:x中的子序列有2^m个。检查是否存在于Y中--O(n)。时间显然是不能接受的。。。动态规划:设C[i,j] = |LCS(X[1...i],Y[1...j])|,C[i,j]表示序列X[1...i],Y[1...j]的最长LCS,则C[m,n]就是最后的答

2016-01-16 13:57:10 349

原创 lightoj 1383 - Underwater Snipers

PDF (English)StatisticsForumTime Limit: 4 second(s)Memory Limit: 32 MBKing Motashota is in a war against the mighty Bachchaloks. He has formed a well trained army o

2016-01-15 23:21:25 823

原创 lightoj 1425 - The Monkey and the Oiled Bamboo

PDF (English)StatisticsForumTime Limit: 3 second(s)Memory Limit: 32 MBIt's time to remember the disastrous moment of the old school math. Yes, the little math probl

2016-01-15 23:12:18 438

原创 lightoj 1396 - Palindromic Numbers (III)

PDF (English)StatisticsForumTime Limit: 1 second(s)Memory Limit: 32 MBVinci is a little boy and is very creative. One day his teacher asked him to write all the Pal

2016-01-15 17:44:07 564

原创 lightoj 1374 Confusion in the Problemset

题目就是说有n页纸,有n个页码,由于存在某些问题导致页码和平时的不一样,这里每页的页码指的是这页前面或者后面还有多少页,问给定的这些页码是否可以排列出来满足上面条件的序列。主意的是页码的范围是点击打开题目链接/*****************************************Author :Crazy_AC(JamesQi)Time :201

2016-01-14 21:49:01 484

原创 lightoj1189

求一个数的阶乘进制的表达,同数的二进制表达一样,从上往下贪心。LL A[23];void init(){ A[0] = A[1] = 1LL; for (int i = 2;i < 21;++i) A[i] = A[i-1]*i;}int main(){ // freopen("in.txt","r",stdin); // fre

2016-01-13 15:59:09 367

原创 lightoj1136

题目中给出的数是1,12,123,1234,12345,123456,1234567,12345678,123456789,12345678910,1234567891011。。。这种数字,问在第A个到第B个数之间有多少个数能被3整除。A 一个数能被3整除的等价情况就是这个数的各个位上的数的和能被3整除,而且上面的数字是连续的,对于连续的三个数字必然是能够被3整除的,但是如1234567891

2016-01-13 12:39:42 742

空空如也

空空如也

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

TA关注的人

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