自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(88)
  • 收藏
  • 关注

原创 LA 3667 Ruler IDA* .

题目地址:http://vjudge.net/problem/UVALive-3667一开始 以为就是DFS搜索,选择题目中给的刻度,一个一个试,最短的的那个就是答案,而且题目给的刻度是小于等于50的,那很明显可以用二进制压缩然而 竟然是刻度不是题目给出的,所以枚举都错了迭代加深搜索+剪枝#include using namespace std;#define REP(i,

2016-10-30 09:20:56 530

原创 LA 4253 Archery -

题目地址:http://vjudge.net/problem/UVALive-4253二分x轴上的点,再用角度的区间表示能否射到#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(int)(b);++i)#define REPD(i,a,b) for(int i=a;i>=(int)(b);--i)con

2016-10-30 07:59:01 317

原创 LA 4636 Cubist Artwork .

题目地址:http://vjudge.net/problem/UVALive-4636对于主视图中每一列,优先放到侧视图中高度一样的地方,其次是比他高的地方那么也就是,两个视图中,高度一样的可以看成一个柱子,用cnt[i]记录下高度为i的柱子在侧视图中有几个再主视图的柱子一个一个扫过去,一个一个放#include using namespace std;#define REP(

2016-10-28 12:11:20 369

原创 LA 4094 WonderTeam -

题目地址:http://vjudge.net/problem/UVALive-4094思路来源: uvalive4094#include using namespace std;int main(int argc, char const *argv[]){ int n; while(scanf("%d",&n)==1&&n){ int ans; if(

2016-10-28 10:24:46 260

原创 UVA 11389 The Bus Driver Problem .

题目地址:http://vjudge.net/problem/UVA-11389很明显是贪心a[]为下午路线,b[]为上午路线将a从小到达排序,b从大到小排序对于任意一个元素a[i]和b[i]来说如果不将a[i]与b[i]搭配:假设a[i]不选b[i]选了更小的b[j](j>i),那么b[i]只能选a[j1](j1>i) ,然而a[j1]+b[i]会更加大所以每个a[i]和

2016-10-28 09:56:13 228

原创 LA 4850 Installations 贪心 *

题目地址:http://vjudge.net/problem/UVALive-4850好难....思路来自:http://blog.csdn.net/L123012013048/article/details/44000965?locationNum=4&fps=1思路:贪心,解题思路:这题很容易就想到按di进行排序,di小的先做,如果di相同的话,就si小的先做,这样的思路是

2016-10-27 18:14:17 468

原创 LA 4725 Airport 二分 -

题目地址:http://vjudge.net/problem/UVALive-47251)答案最小值是大于等于每次时刻最大到达飞机的数量首先想到:贪心,对于当前局面,最好的选择就是把未来将遇到最多的那个机场放飞机

2016-10-27 14:15:43 336

原创 LA 4794 Sharing Chocolate .

题目地址:http://vjudge.net/problem/UVALive-4794为什么刘汝佳的思路永远天经地义的对,而我的就是错错错,不,是没有思路这道题问题难在怎么定义状态:我靠,那么多奇形怪状的巧克力,长宽任意的,怎么表示啊!那就别想怎么表示一个r*c的巧克力的,反正也办不到换个思路,想想怎么切,一整块只能横着切或者竖着切,比如说r*c的,可以变成r*(c-c0)和r

2016-10-23 16:15:29 345

原创 UVA 111100 The Trip, 2007 贪心 *

题目地址:http://vjudge.net/problem/UVA-11100题目求最小分组,所以肯定使用二分的方法那么变成,分为k个分组可不可行的问题数据量是1e4,所以只能是nlogn以下的算法自己猜想:1)注意到题目中表明n不超过1e6 ,用个数组保存数的个数,如1,1,2,2,2,3表示成2,3,1,正好能2组,但不知道怎么判断2)1)想半天,感觉贪心靠谱点想

2016-10-23 11:47:58 180

原创 Canada Cup 2016 C. Hidden Word .

比赛的时候题目意思理解错了,大水题,1A#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)

2016-10-23 09:52:18 249

原创 Canada Cup 2016 B. Food on the Plane 找规律 .

#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))typedef long

2016-10-23 09:11:29 326

原创 Canada Cup 2016 A.Jumping Ball并查集 .

#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))int p[200000

2016-10-23 09:08:43 212

原创 UVA 11134 Fabled Rooks .

题目地址:http://vjudge.net/problem/UVA-11134第二次[a,b]  区间排序的时候,b小的优先,因为是从左往右放的,首先把b小的放完如[1,3],[1,4],[2,3],[2,3] 只有以b小为优先才行,a小为优先是不行的#include using namespace std;#define REP(i,a,b) for(int i=a;i<=

2016-10-22 20:02:15 194

原创 LA 4254 Processor 贪心+二分 *

题目地址:http://vjudge.net/problem/UVALive-4254计算机的速度可以是任何值,题目求的是最大速度的最小值那么很明显就是二分查找最优解题目就转化为:给定一个是计算机速度,求该速度下能否达成目标

2016-10-22 17:28:06 310

原创 UVA 10905 Children's Game 水 .

题目地址:http://vjudge.net/problem/UVA-10905数据量那么少,直接暴力就好了1)长度一样的时候,比较字符串大小就好了2)不一样的时候,一个放前面,或者后面都试一下就好了#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i

2016-10-21 19:48:41 182

原创 NYOJ 12 喷水装置(二).

题目地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=12第二次写#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) (

2016-10-21 19:26:01 293

原创 UVA 10382 Watering Grass 区间覆盖问题 -

题目地址:http://vjudge.net/problem/UVA-10382第一想法:1)ri*22)肯定为了让决策有序化,按p排序3)很明显 ,状态两种:开与不开,而且位置固定的,那么就可以看成由n个区间,求能覆盖整个区间的最小数量,那不是就贪心的区间覆盖问题嘛

2016-10-21 19:11:01 244

原创 LA 3602 DNA Consensus String .

题目地址:http://vjudge.net/problem/UVALive-3602第二次写,二周目#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)char A[50+1][1000+3],Ans[1000+3];std::map idx;const char DNA[]="ACGT"

2016-10-20 21:21:35 286

原创 UVA 10970 Big Chocolate 水 .

题目地址:http://vjudge.net/problem/UVA-10970#include using namespace std;int main(int argc, char const *argv[]){ int n,m; while(scanf("%d%d",&n,&m)==2) printf("%d\n", max(m-1+(n-1)*m,n-1+(m-1)*n)

2016-10-20 18:32:38 195

原创 UVA 10340 All in All .

题目地址:http://vjudge.net/problem/UVA-10340#include using namespace std;char s1[1000000+5],s2[1000000+5];bool Check(char *A,char *B){ int p=0; for(int i=0;A[i];++i){ while(B[p]&&B[p]!=A[i]) p++;

2016-10-20 18:25:03 188

原创 LA 3213 Ancient Cipher -

题目地址:http://vjudge.net/problem/UVALive-3213是比较每个字母出现的频率数组越位一位,导致一直WA...#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#defi

2016-10-20 18:18:27 390

原创 UVA 11039 Building designing .

题目地址:http://vjudge.net/problem/UVA-11039一开始还以为是LIS,发现不分先后顺序直接排序然后扫一下就好了#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#defi

2016-10-20 13:47:27 203

原创 UVA 11636 Hello World! 水 .

题目地址:http://vjudge.net/problem/UVA-11636保证每次复制粘贴的数量越多越好n为奇数的话,1个保留,n-1个都用复制来解决n为偶数直接对半就好了#include using namespace std;int main(int argc, char const *argv[]){ int kase=0,n; while(scanf("%d

2016-10-20 13:05:22 237

原创 LA 3983 Robotruck DP+滑动窗口 *

题目地址:http://vjudge.net/problem/UVALive-3983d[i]表示从原点出发,经过前i个点,且回垃圾桶倒垃圾的最短路径#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#de

2016-10-20 09:36:31 274

原创 UVA 10859 Placing Lampposts 树型DP -

题目地址:http://vjudge.net/problem/UVA-10859很明显是DP;但关键是怎么DP题目优化的方向是a放置的灯数尽量少,被两盏灯照亮的边数b尽可能大,也就是c被一盏灯照亮的路尽可能小,a-b=c,所以c越小,b越大综上就是,x=a+c越小越好而且题目要求a为首要条件,b为次要条件,于是增加a的比重 x=M*a+c,便成为x=M*a+c越小越好,注意M不是越

2016-10-20 07:42:58 262

原创 UVA 11825 Hackers' Crackdown DP+状态压缩 -

题目地址:http://vjudge.net/problem/UVA-11825题目难在怎么转化因为题目求的是完全瘫痪,也就是所有的计算机都没有运行将一个计算机及其相邻的计算机表示成集合A,如第一行的 2 1 2,表示为111为了使所有的计算机都没有运行,就是求A这种集合任意组合能使 他们交集全为1,如A1=000111,A2=111000,A3=001100,那么000~111总

2016-10-19 19:47:10 207

原创 UVA 10891 Game of Sum 博弈DP -

题目地址:http://vjudge.net/problem/UVA-10891题目是博弈,双方都是采用最优的解法,所以要枚举所有可能的取法状态:d[i][j]代表i~j,先手A取得的最大得分状态转移:A取i~k ,ki 复杂度为O(n*n) ,选择分数高的作为决策即A若取i~k, 那么还剩下k+1~j 记忆化递归法:#include using namespace

2016-10-19 16:30:03 199

原创 UVA 10635 Prince and Princess LCS转化为LIS *

题目地址:http://vjudge.net/problem/UVA-10635#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#defi

2016-10-18 19:18:43 220

原创 LA 3882 And Then There Was One 约瑟夫变形 *

题目地址:http://vjudge.net/problem/UVALive-3882#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#d

2016-10-18 17:50:13 223

原创 LA 2965 Jurassic Remains 中途相遇法 .

题目地址:http://vjudge.net/problem/UVALive-2965题目就是在n行中任意组合,是的他们代表的数值异或为0;很明显直接暴力,列出1~(1#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(

2016-10-18 15:49:37 240

原创 UVA 10755 Garbage Heap 三维最大子矩阵和 -

题目地址:http://vjudge.net/problem/UVA-10755#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#

2016-10-17 21:24:09 312

原创 LA 3695 Distant Galaxy 扫描线 -

题目地址:http://vjudge.net/problem/UVALive-3695思路来自刘汝佳矩形的每条边上肯定会有个点题意的矩形是指水平,竖直边组成的矩形,并非斜的那么可以根据点枚举矩形的所有边然后得出最大值但是这样的时间复杂度有n^5,所以可以枚举上下两条边,通过记忆化递推,得出最大值那么问题转化为 对于一个已经固定上下边界的矩形,求出最大值那么可以想到扫描线

2016-10-16 18:11:50 405

原创 LA 3029 City Game .

题目地址:http://vjudge.net/problem/UVALive-3029第二次写#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):

2016-10-16 12:10:45 188

原创 LA 2678 Subsequence .

题目地址:http://vjudge.net/problem/UVALive-2678类似于一种滑动窗口i~j始终维护先j向右扫描,i不动,直到sum=∑a[k] (i=S;然后i向右扫描,直到刚好sum>=S,更新答案ans=min(ans,j-i)算法复杂度O(n)#include using namespace std;#define REP(i,a,b) for

2016-10-15 16:02:22 224

原创 LA 3905 Meteor 扫描线 -

题目地址:http://vjudge.net/problem/UVALive-3905#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#d

2016-10-15 10:21:25 209

原创 UVA 11549 Calculator Conundrum Floyd判圈算法 .

题目地址:http://vjudge.net/problem/UVA-11549#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#defi

2016-10-15 08:53:57 285

原创 Floyd判圈算法(判断是否有环)

转载自:http://blog.csdn.net/thestoryofsnow/article/details/6822576用于判断是否存在环,求解环的起点,求解环的周长时间复杂度:O(n)算法原理:龟兔解法的基本思想可以用我们跑步的例子来解释,如果两个人同时出发,如果赛道有环,那么快的一方总能追上慢的一方。进一步想,追上时快的一方肯定比慢的一方多跑了几圈,即多跑的路的长度是

2016-10-15 08:47:38 2418

原创 UVA 11078 Open Credit System .

题目地址:http://vjudge.net/problem/UVA-11078#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)#define max(a,b) ((a)>(b)?(a):(b))#defi

2016-10-14 21:55:32 255

原创 输入输出外挂

输出int#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define REPD(i,a,b) for(int i=a;i>=(b);--i)int inline readInt(){ char ch; do{ch=getchar();}while(!isdigit(ch)); in

2016-10-14 21:13:38 186

原创 UVA 11462 Age Sort 计数排序 .

题目地址:http://vjudge.net/problem/UVA-11462#include using namespace std;#define REP(i,a,b) for(int i=a;i<=(b);++i)#define max(a,b) ((a)>(b)?(a):(b))#define min(a,b) ((a)<(b)?(a):(b))const int maxn

2016-10-14 21:01:09 194

空空如也

空空如也

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

TA关注的人

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