随笔分类 -  ACM萌动之旅

摘要:1、POJ 3258 River Hopscotch 题意:给出小溪的长度L,给出河中石头数N和最多可移动的石头数M,使得每两颗相邻石头、起点与第一颗石头、终点与最后一颗石头之间的最小距离最大。 思路:二分最小距离,然后把间距小于该距离的石头移除,如果移除的石头数大于M,说明该距离太大,否则可以尝试 阅读全文
posted @ 2017-07-24 14:57 萌萌的美男子 阅读(243) 评论(0) 推荐(0)
摘要:1、UVa 11584 Partitioning by Palindromes(字符串区间dp) 题意:给出一个字符串,划分为若干字串,保证每个字串都是回文串,同时划分数目最小。 思路:dp[i]表示以第i位结尾时最小的划分数目(初始均为0) 状态转移方程1:(初始均为0)当[j:i]是回文串(0≤ 阅读全文
posted @ 2017-07-20 16:56 萌萌的美男子 阅读(247) 评论(0) 推荐(0)
摘要:1、UVa 11100 - The Trip, 2007 题意:给出若干大小不同的包裹,小的能够装在大的包裹里面。求最小的大包裹数,并且保证在所有的大包裹中,所含有的小包裹数目最小。 思路:显然,相同大小的包只能放在不同的大包里,那么最小的大包数目就是相同大小的包的最大数目,记为k。之后,根据从小到 阅读全文
posted @ 2017-07-20 08:44 萌萌的美男子 阅读(204) 评论(0) 推荐(0)
摘要:1、UVa 10382 - Watering Grass (贪心—区间覆盖) 题意:一块矩形草坪,给出若干个分布在中轴线上的喷水装置,喷水范围为圆形。问能否覆盖整个草坪,若能,求出最少的喷水装置数目。 思路:圆形半径小于等于草坪宽度一半的不用考虑;在剩下的喷水圆形区域中,求出对应覆盖草坪的矩形区块, 阅读全文
posted @ 2017-07-19 23:12 萌萌的美男子 阅读(190) 评论(0) 推荐(0)
摘要:1、POJ 2718 Smallest Difference(穷竭搜索,枚举) 题意:给出0~9之间的几个数,从给出的数中组合成两个新的整数(首位不为0),求两个数之间的差的绝对值的最小值。 思路:由于最多只有10个数,全排列枚举,前n/2个形成一个数,后面的数字形成另一个数。 1 #include 阅读全文
posted @ 2017-07-09 10:42 萌萌的美男子 阅读(162) 评论(0) 推荐(0)
摘要:1、POJ 2386 Lake Counting 题意:给出一块区域,询问有多少个湖泊? 思路:DFS,对于‘W’,深搜一次,并标记已访问。之后每次对未访问的‘W’做一次深搜。 1 #include<iostream> 2 #include<memory.h> 3 using namespace s 阅读全文
posted @ 2017-07-09 10:36 萌萌的美男子 阅读(373) 评论(0) 推荐(0)
摘要:(一)求最大公约数 思路:辗转相除法(欧几里德算法) 1 int Gcd(int a,int b) 2 { 3 if(a<b) 4 { 5 int tmp=a; 6 a=b; 7 b=tmp; 8 } 9 while(a%b) 10 { 11 int tmp=a%b; 12 a=b; 13 b=tm 阅读全文
posted @ 2017-06-22 21:58 萌萌的美男子 阅读(442) 评论(0) 推荐(0)
摘要:如何交换二变量的值? 1.三变量法:通过一个中间变量来达到交换的目的。 2.不借助中间变量:加减法 3.不借助中间变量:位运算法(异或) 4.只改变输出顺序(针对算法竞赛) 阅读全文
posted @ 2017-03-05 10:42 萌萌的美男子 阅读(169) 评论(0) 推荐(0)