![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
ju136
这个作者很懒,什么都没留下…
展开
-
广度搜索-POJ 1753
http://poj.org/problem?id=1753题意:一个4×4的棋盘,每个格子放着一个棋子。棋子一面是白色,一面是黑色。一次操作可以将某一个格子以及上下左右共5个格子的棋子都翻过来,即白色变黑色,黑色变白色。现在给出一种棋盘状态,问最少需要几次操作可以将原创 2011-10-11 19:48:06 · 864 阅读 · 0 评论 -
POJ 1205
这里说一下题意,对于排成一排的N个城市,有一条河与这一排城市平行。那么城市在排污水的时候,可以有三种选择,用根管子,连到左边的城市(如果有的话),把污水通过这根管子排到左边的城市 。设置这种方式编号为这个城市自己排到河中。编号为|同样的方式排到右边的城市。编号为?举例如:N= 1, 这个城市可以有编号|种排法。N=2 ||, || 种排法当有K个原创 2011-10-30 22:38:19 · 1567 阅读 · 0 评论 -
LeetCode 题目之 数组两数之和问题
LeetCode上的一个题:给定一个数组,寻找在这个数组中是否存在两个数之和为某个定值。要点:1、一个数就是一个数,比如[2, 1],寻找和为4时,不能使用2+2。2、需要输出位置。排序方法首先排序,然后按照编程之美中提到的方法进行处理。代码如下.#include#include#includeusing namespace std;c原创 2011-11-16 09:42:15 · 2906 阅读 · 1 评论 -
二分查找之变形
//寻找一个数,找到刚好比他小的数。比如-1 1 1 1 2 ~~~如果要找1,那么返回的是-1的位置0。如果1开头,那么返回位置-1.int lbs(int *a, int n, int v){ int b = 0, e = n, m; while (b < e){ m = b + ((e - b) >> 1); if (a[m] >= v) e = m; els原创 2011-10-31 15:14:28 · 1040 阅读 · 0 评论 -
二进制位交换 反转 计数
如何交换一个整形数的二进制表示的其中两位.比如要把a,与b进行交换。那么方法如下:x表示任意值。xxxx xxxx xxxx xaxx xxxx xxbx xxxx xxxx分为两步:第一步:首先要求得xxxx xxxx xxxx x0xx xxxx xx0x xxxx xxxx第二步:在第一步的基础上加上:0000 0000 0000 0b00 0000 00原创 2011-11-03 12:39:49 · 4898 阅读 · 0 评论 -
ACM 算法艺术与信息学竞赛 1.2.7 超长数字串
题意顺序打印的字符串123456789101112131415161718~~~~要找到给定数字串第一次出现的位置。比如10第一次出现在10,1011也是出现在10位置。1第一次出现在1。分析:按照书上所说的枚举的思想来进行处理。思想主要是分段,比如123可以分为1,2,3一个段也可以分为3[123]13的一部分那么在考虑分段时,主要采用原创 2011-11-05 15:18:05 · 2772 阅读 · 0 评论 -
POJ 1009题解
题意就是给定一个图的RLE表示。然后求这个图的每个像素点的绝对值。每个像素点的绝对值由其周围的8个点的最大绝对值来决定。从给的两个图应该可以看出来了。不多说了。限制:数量级很大,时间要求很短。要求需要处理好内存的关系与时间的关系。首先你是不可以把整个图按其真实情况存放起来的。那么需要按照如下方式处理:由于相同的点是连续的,那么在处理时,这些连续的点中间的原创 2011-11-09 22:28:40 · 818 阅读 · 0 评论 -
素数
素数一直是个头疼的话题,不过最好还是克服一下。至少知道如何来进行处理。求a^b那种老掉牙的for循环就不要写了吧。这里粘个高效的。templateT _exp(T a, T b){ T odd = 1; while (b > 1) { if (b&1) odd *= a; a *= a; b >>= 1; } return a*odd;}求a^b原创 2011-11-08 21:50:30 · 661 阅读 · 0 评论 -
ACM 算法艺术与信息学竞赛 1.2.2 钓鱼 Gone Fishing
继续向前做题。这个题在http://poj.org/problem?id=1042还是粘一下题原题题意分析首先要弄清楚,在我看来是最重要的一句话是,每个鱼池只经过一次,只能按照从左向右的顺序访问。并不是每个池塘都必须停下来钓鱼。这句话太重要了,没有这句话,这个题直接就上难度了。也就是说如果有1,2,3,4个池塘。那么可以选择只钓1,3两个池塘的。2只是路原创 2011-11-10 21:08:12 · 2993 阅读 · 3 评论 -
动态规划 最长不重复连续子串
题意Longest Substring Without Repeating CharactersGiven a string, find the length of the longest substring without repeating characters. For example, the longest substring without repeating letter原创 2011-11-10 22:39:53 · 2809 阅读 · 0 评论 -
斯特林公式在 ACM中的使用
给两个斯特林公式的链接http://episte.math.ntu.edu.tw/articles/mm/mm_17_2_05/page2.html http://hi.baidu.com/vincentz/blog/item/54686c63fa113f630c33fafe.html现在为止,遇到两个这样的题,还是写一下,尽管是水题。第一个题,求阶乘的最高位。h原创 2011-11-12 16:15:38 · 3737 阅读 · 0 评论 -
母牛问题
现有一头母牛,其2岁、4岁会生一头小牛。其他生下来的小牛也是如此。那么n年之后,有多少头牛?#include#include#includeint a[7];int main(void){ int n, i; while (scanf("%d", &n) != EOF && n){ if (1 == n) {printf("1\n"); continue;}原创 2011-11-16 22:50:19 · 721 阅读 · 0 评论 -
小代码求阶乘
转自http://blog.programfan.com/article.asp?id=25193#include#define N 1000 //要计算的Nlong s[N]={1,1},n=N,t=2,a=1,b=0;int main()//雨中飞燕之作{ for(;a s[a]=(b+=s[a]*t)%10000,b/=100转载 2011-10-28 22:15:55 · 813 阅读 · 0 评论 -
A*算法
先分析一下来自网上的一段代码:在此算法中,g(n)表示从起点到任意顶点n的实际距离,h(n)表示任意顶点n到目标顶点的估算距离。 因此,A*算法的公式为:f(n)=g(n)+h(n)。 这个公式遵循以下特性:如果h(n)为0,只需求出g(n),即求出起点到任意顶点原创 2011-10-12 14:46:04 · 959 阅读 · 0 评论 -
HDU OJ 题目分类
基础题:1000、1001、1004、1005、1008、1012、1013、1014、1017、1019、1021、1028、1029、1032、1037、1040、1048、1056、1058、1061、1070、1076、1089、1090、1091、1092、1093、1转载 2011-10-12 20:52:40 · 6595 阅读 · 0 评论 -
八数码之广搜
如何测试算法首先要把所有可能的序列都输出来,其实也就是生成全排列了。这里直接给出代码。用以下代码生成12345678x, 至x87654321#include#include#include#include#define MAX 100using n原创 2011-10-13 15:29:30 · 1600 阅读 · 0 评论 -
再论八数码
对于给定八数码棋局的初始状态,我们的目标是通过交换空格与其相邻棋子使棋盘达到目标状态。其中,游戏规则是只能交换空格与其上下左右四个方向的相邻棋子。假设棋局目标状态为如下形式:(A、B、C、D、E、F、G、H表示棋子) A B C D E F G转载 2011-10-15 19:06:43 · 11915 阅读 · 1 评论 -
UARL 1011
题目很简单:给两个浮点数p, q做为输入,两个浮点数都是精确到小数位后面两位。要求一个数x使得[x*p, x *q]中至少有一个整数出现。当然输入13表示13%http://acm.timus.ru/problem.aspx?space=1&num=10111011. ConductorsTime Limit: 2.0 secondMemory Limit: 1原创 2011-10-22 22:07:56 · 8439 阅读 · 0 评论 -
ACM 算法艺术与信息学竞赛 1.2.1盒子里面的汽球
盒子里面的汽球题目大意我就不多说了,直看一下刘汝佳的书。这里给出链接,与我出错的总结盒子里的汽球Problem 1515 Balloons in a Box Accept: 171 Submit: 919Time Limit: 1000 mSec Memory Limit : 32768 KB Problem DescriptionYou m原创 2011-10-24 21:58:42 · 1518 阅读 · 1 评论 -
ACM 算法艺术与信息学竞赛 1.2.4 售货员
题目就不去多说了,就是说有两个浮点数P, Q,给一个整数,使得(P*x, Q*x)之间一定有一个整数,注意了,是不包含P*x, Q*x这两个数的。看起来也比较简单。题目链接售货员我这个菜鸟居然错了很多次。下面写一下经历与容易出错的地方。#include#includedouble p, q;double from, to, x;int pp, qq;in原创 2011-10-25 20:57:55 · 887 阅读 · 0 评论 -
ACM 算法艺术与信息竞赛 1.2.6 离散函数
这个题,如果认真看了题意就比较明白了。这里我直接引用百度上的博客1010. Discrete Function题目描述:有一个函数,它的定义域:1 to N(2值域f(n)为long int(in C++)(最后证明在-2^31—2^31)。要求函数上的两个点a,b使得当x∈(a,b)函数f,在直线ab的下方,并且要求ab的倾角最大。分析:解法一:一开始只想到O(n^2原创 2011-10-25 22:24:51 · 1166 阅读 · 2 评论 -
ACM 算法艺术与信息学竞赛 1.2.1 图书馆
这个题在POJ和URAL上都可以找到。下面给出链接ural-1188PKU-1116下面还是把题目粘一下LibraryTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 602 Accepted: 170Description原创 2011-10-25 20:51:54 · 1251 阅读 · 3 评论 -
POJ 1010 邮票
题意: 给出n种邮票,每种邮票有自己的面值(面值可能重复) 指定m种“总面值”,对每种“总面值”,求解满足如下条件的组合以达到该“总面值”(1) 所用邮票在n种中可以重复选取(2) 所用邮票张数〈=4(3) 尽量多的使用那个不同种类的邮票 Max (Stamp Types)(4) 若有多种方案满足(3),则选取张数最小的一种方案 Min (Stamp Num)(5)原创 2011-11-14 19:31:01 · 947 阅读 · 0 评论 -
素数表至40009
//不多说了,素数表,有时候A题需要用到int pList[]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,原创 2011-10-27 19:49:24 · 2172 阅读 · 0 评论 -
面试题整理-大数求和
题意很简单,就是求两个任意整数之和。原题在:http://acm.hdu.edu.cn/showproblem.php?pid=1002首先说一下正确的思路:第一步:输入的处理:如果输入是00000123344需要处理为123344。函数为:string &_del_zeros_before_dot(string &a){ if (a.len原创 2012-05-09 20:17:22 · 5003 阅读 · 0 评论