ACM-基础解题策略
yew1eb
https://github.com/yew1eb
展开
-
2013编程之美全国挑战赛初赛第一场 第二题 相似字符串
相似字符串时间限制: 4000ms 内存限制: 256MB描述对于两个长度相等的字符串,我们定义其距离为对应位置不同的字符数量,同时我们认为距离越近的字符串越相似。例如,“0123”和“0000”的距离为 3,“0123”和“0213”的距离则为 2,所以与“0000”相比,“0213”和“0123”最相似。现在给定两个字符串 S1 和 S2,其中 S2 的长度不大于 S1原创 2013-04-13 19:37:12 · 2827 阅读 · 2 评论 -
UVa10474 Where is the Marble ? 有序数组二分找值,lower_bound / upper_bound
题意:给出n个数,先把各数从小到大排序,然后q次询问xi在数组中的位置,不存在则输出相应信息。输入样例:4 1235155 213331230 0输出样例:CASE# 1:5 found at 4CASE# 2:2 not found3 found at 3//=====原创 2014-09-22 14:23:10 · 1757 阅读 · 0 评论 -
poj1208 The Blocks Problem,模拟,vector
题意:从左到右有n个积木,依次编号0~n-1,要求模拟以下4种操作。1、move a onto ba和b都是积木的编号,先将a和b上面所有的积木都放回原处,再将a放在b上。2、move a over ba和b都是积木的编号,先将a上面所有的积木放回原处,再将a放在b上。(b上原有积木不动)3、pile a onto ba和b都是积木的编号,将a和其上面所有的积极原创 2014-09-22 16:04:37 · 1833 阅读 · 0 评论 -
hdu 4006 The kth great number,set,priority_queue
The kth great numberXiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write down a number, or ask Xiao Bao what the kth great number is. Because the numb原创 2014-09-22 17:33:11 · 1804 阅读 · 0 评论 -
UVa156 Ananagrams,map
AnanagramsMost crosswordpuzzle fans are used to anagrams--groups of wordswith the same letters in different orders--for example OPTS, SPOT, STOP, POTSand POST. Some words however do not have this at原创 2014-09-22 18:46:45 · 1787 阅读 · 0 评论 -
Uva 514 Rails 栈,stack
#include #include using namespace std;const int MAXN =1000 + 10;int n, target[MAXN];/*target : 出站序列s :站内车厢序列A :要入站d的车厢号 A=A[i]B :出站车厢号 target[B]*/int main(){ while(scanf原创 2013-04-03 11:49:41 · 2015 阅读 · 0 评论 -
UVa11991 Easy Problem from Rujia Liu? map,vector
Easy Problem from Rujia Liu?Though Rujia Liu usually sets hard problems for contests (for example, regional contests like Xi'an 2006, Beijing 2007 and Wuhan 2009, or UVa OJ contests like Rujia L原创 2014-09-22 19:03:15 · 1687 阅读 · 0 评论 -
hdu4268 Alice and Bob,multiset
Alice and BobProblem DescriptionAlice and Bob's game never ends. Today, they introduce a new game. In this game, both of them have N different rectangular cards respectively. Alice wants to us原创 2014-09-23 17:25:07 · 1909 阅读 · 0 评论 -
poj3061 Subsequence ,尺取法
A sequence of N positive integers (10 < N < 100 000), each of them less than or equal 10000, and a positive integer S (S < 100 000 000) are given. Write a program to find the minimal length of the sub原创 2014-08-23 10:41:59 · 2724 阅读 · 0 评论 -
HDU 1005 ,水题
找规律(循环点) //题目分类上的。。。#include unsigned int f[100] ={0,1,1};int main(){ int a, b, n, i; while(scanf("%d%d%d",&a,&b,&n)) { if(a==0&&b==0&&n==0) break; n %=48; if(n==0)原创 2013-04-07 23:50:06 · 1787 阅读 · 0 评论 -
poj 2632 Crashing Robots, 模拟
点击打开链接简单模拟机器人的移动,发生碰撞时输出相应的信息。code#include #include using namespace std;struct node{ int k; int s;}mtx[200][200];struct node1{ int x, y;}rob[200];int n, m;int原创 2014-07-09 09:59:20 · 1695 阅读 · 0 评论 -
《算法导论》学习笔记 第6章 二叉堆
二叉堆【基本概念】 堆是一种特殊的树形数据结构。根节点具有最高优先级,按根节点的关键字在堆里所有结点关键字中的大小关系分为大根堆和小根堆。【性质】 1、二叉堆是一棵完全二叉树; 2、如果用数组存储堆,下标为i的节点的左右儿子可以用下标2i,2i+1表示。【算法】 插入 将需要添加的元素放在堆的最底层的原创 2013-05-02 23:09:41 · 1850 阅读 · 0 评论 -
《算法导论》学习笔记 第一章&&第二章&&第三章
第一章: 讲了算法的(Algorithm)的基本概念,以及算法的作用。 算法在我们自然界中无处不在,可以说世界因为算法的存在而美好。第二章: 2.1节讲的是插入排序(InsertSort),并以此来介绍伪代码。 2.2节讲的是算法的分析,算法分析是指对一个算法所需要的资源进行预测。在(P13)讲到了”运行时间”和”输入规模”的概念原创 2013-05-02 21:15:41 · 1931 阅读 · 2 评论 -
hdu1134 Game of Connections(Catalan数, 顺便附上大数类模板)
Catalan数公式:C[0] = 1C[n] = C[n-1]*(4*n - 2)*(n+1)原创 2014-02-18 13:29:20 · 2380 阅读 · 1 评论 -
poj1047(高精度加)
Integer InquiryTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8840 Accepted Submission(s): 2255Problem DescriptionOne of the原创 2013-05-24 22:35:59 · 1881 阅读 · 0 评论 -
HDU-1753 大明A+B【大数相加】
第一次用Java交题爽到不行!//Accepted 1753 125MS 3336K 439 Bimport java.math.BigDecimal;import java.util.*;public class Main { public static void main(String[] args) { BigDecimal a, b, c; Scanner ci原创 2013-04-02 09:27:17 · 2040 阅读 · 0 评论 -
hdu1250 Hat's Fibonacci(高精度加)
Hat's FibonacciTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5097 Accepted Submission(s): 1713Problem DescriptionA Fibonacci se原创 2013-05-24 22:58:11 · 1951 阅读 · 0 评论 -
POJ-1001 Exponentiation 高精度
计算大实数R^n的值。import java.io.*;import java.math.*;import java.util.*;import java.text.*;public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in);原创 2013-04-13 20:07:00 · 2274 阅读 · 0 评论 -
《算法导论》学习笔记 第四章&&第五章
load……原创 2013-05-02 23:02:12 · 1693 阅读 · 0 评论 -
POJ 2503 Babelfish ,map
#include #include #include typedef struct{ char en[11]; char fl[11];}dict;int cmp(const void * a,const void *b){ return strcmp( ((dict*)a)->fl, ((dict*)b)->fl );}dict word[100001];i原创 2013-03-22 14:23:57 · 1654 阅读 · 0 评论 -
hdu 2072 单词数,set,strtok
STL_set操作:st.begin()返回指向第一个元素额迭代器st.end()返回指向末尾元素的迭代器st.rbegin()返回逆向迭代器,指向链表末尾st.rend()返回指向开头之前位置的迭代器st.clear()清空迭代器原创 2014-09-22 16:33:55 · 1744 阅读 · 0 评论 -
《算法导论》学习笔记 前言
我这本《算法导论》原书第2版{10年买的},待在我身边已经有两年多了。每次拿起又还是放下了。。。 现在我想有要好好系统地学习一下的必要了。 本笔记将参照Tanky Woo 和 酷~行天下两位神牛的笔记进行,每完成一个章节就去各大OJ找一些题强化练习。 yew1eb,加油!原创 2013-05-02 18:02:46 · 1704 阅读 · 0 评论 -
折半查找(Binary Search)
基本思想:在有序表中,把待查找数据值与查找范围的中间元素进行比较,会有三种情况出现:1) 待查找数据值与中间元素值正好相等,则放回中间元素值的索引。2) 待查找数据值比中间元素值小,则以整个查找范围的前半部分作为新的查找范围,执行1),直到找到相等的值。3)待查找数据值比中间元素值大,则以整个查找范围的后半部分作为新的查找范围,执行1),直到找到相等的值。4)如果最原创 2013-03-22 12:26:14 · 1582 阅读 · 0 评论 -
The Dragon of Loowater UVa 11292(排序后贪心)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_problem&problem=2267//分析:首先可以肯定一定选用能力值最小且能干掉最小的恶龙的骑士(为什么?)//然后从小到大一个一个来。。 #include #include using n原创 2013-03-09 22:16:29 · 2127 阅读 · 0 评论 -
HDU 1007 (最近点对问题)
Quoit DesignTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 20332 Accepted Submission(s): 5216Problem DescriptionHave you ev原创 2013-04-11 02:03:11 · 2788 阅读 · 0 评论 -
POJ2109 Power of Cryptography(easy!)
http://poj.org/problem?id=2109ans^n = p。给出n,p。求ans。#include #include using namespace std;int main() { double n, p; while(cin>>n>>p) { cout<<pow(p, 1.0/n)<<endl;原创 2013-10-06 11:50:43 · 1678 阅读 · 0 评论 -
NK1437(循环日程表) [分治]
题目链接:http://acm.nankai.edu.cn/p1437.html 1437: 校长杯Time Limit: 1500 ms Memory Limit: 32000 kB Judge type: Multi-cases Special JudgeTotal Submit : 120 (56 users) Accepted Submit原创 2013-04-11 02:17:32 · 1698 阅读 · 0 评论 -
poj 1003 水题
题意:输入一个数, 算出1/2 + 1/3 + 1/4 + … + 1/(n+ 1)大于这个数时的最小n。 翻译对我来说是一种折磨! 弱菜不解释...#include using namespace std;const int SIZE=300;//当输入达到上限5.20时,SIZE最大为276 double length[SIZE]={0.0};int mai原创 2013-03-19 09:23:38 · 1889 阅读 · 0 评论 -
hdu1238 Substrings (暴力)
http://acm.hdu.edu.cn/showproblem.php?pid=1238SubstringsTime Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)Total Submission(s) : 10 Accepted Submission(s) :原创 2013-07-21 14:01:59 · 1716 阅读 · 0 评论 -
POJ 1018 Communication System [枚举]
大致题意:某公司要建立一套通信系统,该通信系统需要n种设备,而每种设备分别可以有m1、m2、m3、...、mn个厂家提供生产,而每个厂家生产的同种设备都会存在两个方面的差别:带宽bandwidths 和 价格prices。现在每种设备都各需要1个,考虑到性价比问题,要求所挑选出来的n件设备,要使得B/P最大。其中B为这n件设备的带宽的最小值,P为这n件设备的总价。解题思原创 2013-04-16 15:36:53 · 1851 阅读 · 0 评论 -
Commando War UVa 11729(贪心)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_problem&problem=2829//分析:直觉告诉我们,执行时间较长的任务应该先交代。(证明?)。。贪心算法。 #include #include #include using namesp原创 2013-03-09 22:31:24 · 1739 阅读 · 0 评论 -
POJ1042 Gone Fishing
采用贪心策略。假设他从1湖泊走到x 湖泊,这还剩下 h*12 - sigma(T1--Tx-1)。(单位时间为5分钟)。然后再用剩下的时间去钓1-x的湖泊的鱼。 每次都选择最多鱼的湖泊钓。code:#include #include #include #include using namespace std;const int maxn = 30;int f[原创 2013-09-17 20:30:07 · 2017 阅读 · 0 评论 -
hdu1015 Safecracker (暴力枚举)
http://acm.hdu.edu.cn/showproblem.php?pid=1015SafecrackerTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 6327 Accepted Submission原创 2013-07-21 13:52:51 · 1882 阅读 · 0 评论 -
uva10167 生日蛋糕 (枚举)
题目大意:一个圆饼,上面有2N个樱桃,切一刀,使两块上面都有相等的樱桃。分析:由于圆饼半径只有100,所以枚举A,B,-100到100.对于每一种A,B,看看直线两边点数是不是相同,注意题目中很多点不在饼上面。code:#include struct node{ int x, y;}point[105];void solve(int n)原创 2013-06-06 20:14:24 · 1999 阅读 · 0 评论 -
HDU4544 湫湫系列故事――消灭兔子
HDU 4544Tags: 数据结构,贪心Analysis:将兔子的血量从大到小排序,将箭的杀伤力从大到小排序,对于每一个兔子血量,将比他大的杀伤力大的剑压入优先队列,优先队列自己重写,让它每次抛出的数为价钱最小。Code:#include #include #include #include using namespace std;typed原创 2013-08-08 11:10:21 · 1710 阅读 · 0 评论 -
hdu1050 Moving Tables
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1050求区间上点的最大重叠次数。#include #include int main(){ int t, s, e, i, n, max, tmp; int mark[205]; scanf("%d", &t); while (t--) {原创 2013-08-04 15:51:00 · 1824 阅读 · 0 评论 -
HDU 2037 今年暑假不AC
水题。贪心。贪心练习题: ZOJ 2510(没做)、HDU1009(背包 贪心)、POJ Bookshelf、zoj 1543 Stripies、poj 1328 Radar Installation、#include #include using namespace std;struct program { int start; int end;/*原创 2013-04-19 09:53:42 · 1848 阅读 · 0 评论 -
HDU 2035 人见人爱A^B
一天一水题。。 Problem Description求A^B的最后三位数表示的整数。说明:A^B的含义是“A的B次方” Input输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1 Output对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。 Sam原创 2013-04-07 23:04:33 · 1778 阅读 · 0 评论 -
POJ2965 The Pilots Brothers' refrigerator(枚举)
http://poj.org/problem?id=2965跟POJ1753相似,暴力枚举。我这里用了迭代加深。#include #include int chess;int step, flag;int row[20], col[20];inline void flip(int pos) { chess = chess^(1<<pos);原创 2013-10-06 11:14:07 · 1907 阅读 · 0 评论 -
poj3295 Tautology , 计算表达式的值
给你一个表达式,其包含一些0,1变量和一些逻辑运算法,让你判断其是否为永真式。计算表达式的常用两种方法:1、递归; 2、利用栈。code(递归实现)#include #include #include #include #include using namespace std;char str[2000];int pos;bool calc(int bi原创 2014-07-06 15:01:04 · 1781 阅读 · 0 评论