=====ACM=====
文章平均质量分 78
herongweiV
喜爱编程,热爱算法。
展开
-
NYOJ 528找球号(三)
找球号(三)时间限制:2000 ms | 内存限制:3000 KB难度:2描述 xiaod现在正在某个球场负责网球的管理工作。为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是偶数。有一天,xiaod发现少了一个球,你能帮他找出丢的那个球的球号吗?输入有多组测试数据。每组数据包括两行。第一行是一个整数N(0随后的一行是N个数,表示所剩的各个球的编号M(原创 2014-07-29 19:08:10 · 1076 阅读 · 0 评论 -
ZOJ 1755 && POJ 1547 Clay Bully(简单排序+map容器)
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1755题意:Ms. Terry is a pre-school art teacher who likes to have her students work with clay. One of her assignments is to form a lump原创 2015-01-27 19:28:51 · 1124 阅读 · 0 评论 -
ZOJ 1760 &&POJ1552 Doubles (模拟)
链接:click here题意:叫你求一个数是另一个数的二倍的这样的组合有多少个。思路:纯模拟,一重循环:读入当前数据组a,并累积数据元素个数n,循环的结束标志是读入数据0,两重循环结构枚举组内所有数据对a[i] a[j] 判断是否成两倍关系代码:#include #include #include #include #include using namespace原创 2015-01-27 19:22:20 · 1309 阅读 · 0 评论 -
ZOJ 1049 &&HDU 1065 I Think I Need a Houseboat
ZOJ 1049 &&HDU 1065 I Think I Need a Houseboat原创 2015-01-26 22:53:38 · 917 阅读 · 0 评论 -
ZOJ 1938 Binomial &&poj 2249 (Binomial Showdown )(睡前一水)
ZOJ 1938 Binomial &&poj 2249 (Binomial Showdown )原创 2015-01-25 23:23:57 · 1452 阅读 · 0 评论 -
ZOJ 2829 Beautiful Number(睡前一水)
ZOJ 2829 Beautiful Number(睡前一水)原创 2015-01-25 23:18:24 · 1053 阅读 · 0 评论 -
ZOJ 2969 && BNU16488 Easy Task
ZOJ 2969 && BNU16488 Easy Task原创 2015-01-26 23:00:38 · 1038 阅读 · 0 评论 -
ZOJ 1037 && HDU 1046 Gridland (找规律)
ZOJ 1037 && HDU 1046 Gridland (找规律)原创 2015-01-26 22:36:29 · 1213 阅读 · 0 评论 -
poj 3100 && zoj 2818 ( Root of the Problem ) (睡前一水)
poj 3100 && zoj 2818 ( Root of the Problem )原创 2015-01-25 23:15:48 · 1074 阅读 · 0 评论 -
NYOJ117&& 树状数组求逆序数
(转)树状数组可以用来求逆序数, 当然一般用归并求。如果数据不是很大, 可以一个个插入到树状数组中, 每插入一个数, 统计比他小的数的个数,对应的逆序为 i- getsum( data[i] ),其中 i 为当前已经插入的数的个数, getsum( data[i] )为比 data[i] 小的数的个数i- sum( data[i] ) 即比 data[i] 大的个数, 即逆序的个数但如果数据比较大原创 2015-01-29 21:57:02 · 1096 阅读 · 0 评论 -
RMQ && 树状数组 (初学)
先复习一下今天刚学的RMQ算法知识;RMQ算法(Range Minimum Query):1.算法思想 求静态范围最值问题,适合于静态连续区间查询。 A[ i ] [ j ] 的值代表的是原数组中以 i 开始的连续 (12.代码 //2.1 预处理代码for(int j = 1 ; j != 20 ; ++j ) //原创 2015-01-29 21:45:18 · 1324 阅读 · 0 评论 -
深入了解scanf/getchar/gets/cin等函数
scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因为使用这些函数除了问题,却找不出其中的原因。下面先看一个很简单的程序:程序1:#include int main(){char ch1, ch2;scanf("%c", &ch1); scanf("%c", &ch2);printf("%d %d翻译 2015-01-30 10:53:38 · 1169 阅读 · 2 评论 -
《ACM训练参照》<转载>
经典训练参照,不解释了,很好~1.图论2.数据结构3.搜索4.动态规划5.模拟6.数学7.计算几何8.博弈论9.字符串=========================================初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和转载 2014-11-13 08:51:44 · 1406 阅读 · 0 评论 -
POJ 1159 Palindrome(滚动数组)
链接:click here题意:给你一串字符串,让你求最少加入几个字符,才能使得这个字符串是个回文串。思路:设a[i]是这个字符串,b[i]是这个字符串的逆序串。那么a[i],b[i]的最长公共子序列就是所求的字符串里拥有的最大的回文串。然后用总串长减去最大的回文串长度即为所求。求最长公共子序列的公式为:dp[i][j]=max(dp[i-1] [j],dp[i][j-1]原创 2015-01-31 21:54:13 · 1038 阅读 · 0 评论 -
NYOJ 36 &&HDU 1159 最长公共子序列(经典)
链接:click here题意:tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subsequence)。其定义是,一个序列 S ,如果分别是两个或多个已知序列的子序列,且是所有符合此条件序列中最长的,则 S 称为已知序列的最长公共子序列。输入第一行给出一个整数N(0接下来每组数据两行,分别为待测的两组字符串。每个字符串长度不大于原创 2015-01-31 22:10:53 · 1198 阅读 · 0 评论 -
NYOJ 820 又见01背包 (价值和重量互换)
链接:click here题意:描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 输入多组测试数据。每组测试数据第一行输入,n 和 W ,接下来有n行,每行输入两个数,代表第i个物品的wi 和 vi。输出满足题意的最大价值,每组测试数据原创 2015-01-31 21:18:33 · 1283 阅读 · 0 评论 -
POJ 并查集小结
转载自:http://blog.csdn.net/wahaha1_/article/details/8068947并查集小结并查集大体分为三个:普通的并查集,带种类的并查集,扩展的并查集(主要是必须指定合并时的父子关系,或者统计一些数据,比如此集合内的元素数目。)POJ-1182经典的种类并查集POJ-1308用并查集来判断一棵树。。注意空树也是树,死人转载 2015-01-31 20:01:40 · 875 阅读 · 0 评论 -
POJ 2575 && ZOJ 1879 Jolly Jumper(整数序列)
链接:click here题意:对于一个包含n>0个元素的整数序列,如果序列中相邻元素之差的绝对值取边1到n-1的所有值,那么这个序列就叫做Jolly Jumper序列,思路:水题模拟~~,不过注意*,因为不小心,wrong了几遍。代码:#include #include #include #include #include #include #include u原创 2015-02-02 15:33:32 · 1983 阅读 · 0 评论 -
NYOJ 220 (红黑树--模拟)
链接:click here 题意:什么是红黑树呢?顾名思义,跟枣树类似,红黑树是一种叶子是黑色果子是红色的树。。。当然,这个是我说的。。。《算法导论》上可不是这么说的:如果一个二叉查找树满足下面的红黑性质,那么则为一个红黑树。1)每个节点或是红的,或者是黑的。2)每个叶子节点(NIL)是黑色的3)如果一个节点是红色的,那么他的两个儿子都是黑的。4)根原创 2015-02-02 12:51:41 · 1269 阅读 · 0 评论 -
stringstream对象的使用
今天做了一道字符串转化大小写的题,做完之后突然想看一下别人是怎么写的,于是就发现了标题所述的一种用C++流的一种方法:感觉很方便,但是自己虽然学完C++这门课,竟然一(wu)点(li)也(to)不(cao)知(!)道,实在惭愧!!,看了是有必要好好回头在复习研究一番!以下翻译自:click here1stringstream对象的使用#include#includeusin翻译 2015-02-01 16:57:16 · 1722 阅读 · 0 评论 -
超大背包(挑战编程之01背包)
先来温习01背包:01背包是在M件物品取出若干件放在空间为W的背包里,每件物品的体积为W1,W2……Wn,与之相对应的价值为P1,P2……Pn。求出获得最大价值的方案。注意:在本题中,所有的体积值均为整数。思路:考虑用动态规划的方法来解决,这里的:阶段是:在前N件物品中,选取若干件物品放入背包中;状态是:在前N件物品中,选取若干件物品放入所剩空间为W的背包中的所能获翻译 2015-02-01 22:24:40 · 1214 阅读 · 0 评论 -
HDU 3549 Flow Problem (最大流)
链接:click here题意:Network flow is a well-known difficult problem for ACMers. Given a graph, your task is to find out the maximum flow for the weighted directed graph.翻译:网络流量是一个众所周知的难题ACMers。给定一个图,原创 2015-02-03 17:08:42 · 1118 阅读 · 0 评论 -
最大子序列和问题
最大子序列和问题: 链接: click here问题描述: 输入一组整数,求出这组数字子序列和中最大值。也就是只要求出最大子序列的和,不必求出最大的那个序列。例如: 序列:-2 11 -4 13 -5 -2,则最大子序列和为20。 序列:-6 2 4 -7 5 3 2 -1 6 -9 10 -2,则最大子序列和为16。int MaxSubseqSum1(翻译 2014-12-29 09:46:25 · 1052 阅读 · 0 评论 -
PAT03-1. 二分法求多项式单根(20)
链接:点击打开链接题意:二分法求函数根的原理为:如果连续函数f(x)在区间[a, b]的两个端点取值异号,即f(a)f(b)二分法的步骤为:检查区间长度,如果小于给定阈值,则停止,输出区间中点(a+b)/2;否则如果f(a)f(b)如果f((a+b)/2)正好为0,则(a+b)/2就是要求的根;否则如果f((a+b)/2)与f(a)同号,则说明根原创 2015-02-04 21:44:21 · 1205 阅读 · 0 评论 -
快速幂取模算法
快速幂取模算法--常用三种方法归纳。翻译 2015-01-01 16:03:00 · 1174 阅读 · 0 评论 -
BestCoder Round #29 1001 GTY's math problem
GTY's math problemTime Limit: 1000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 0 Accepted Submission(s): 0Problem DescriptionGTY is a GodB原创 2015-02-07 21:29:23 · 1190 阅读 · 0 评论 -
ACM比赛经验
ACM比赛经验:推荐此篇文章打印,与模板放在一起。1. 比赛中评测会有些慢,偶尔还会碰到隔10分钟以上才返回结果的情况,这段时间不能等结果,必须开工其他题,如果WA,两道题同时做。交完每道题都要先打印。2. 比赛时发的饭不是让你当时就吃的,那是给你赛后吃的。基本上比赛中前几名的队都没人吃,除非领先很多。3. 很多选手,尤其是第一次参加比赛的,到一个新环境,全当旅游了,参观的参观,找翻译 2015-02-14 23:00:03 · 1921 阅读 · 0 评论 -
算法合集之《信息学中守恒法的应用》(不错的文章保存一下)
转载自:click here~~【摘要】本文提出和总结了“守恒法”,以及它在信息学竞赛中的一些应用。守恒的本质是寻找变化中的不变量。守恒法能帮助我们跳过、避开纷繁复杂的细节,直接看透问题的本质。【关键字】守恒法 不变量【正文】 一、 引言现实生活和实际问题是纷繁复杂的。问题1 两个质量相等的小球,速度分别为5m/s, 4m/s,他们相向运动,完全弹性碰撞之后速度分别变成多少转载 2015-02-22 09:38:07 · 1534 阅读 · 0 评论 -
NYOJ 434 && POJ 1251 Jungle Roads(最小生成树)
链接:click here题意:题目大意在相通n个岛屿的所有桥都坏了,要重修,重修每一个桥所用的时间不同,求重修使每个岛屿都间接或直接与其他岛屿相同时所用的的最短时间(只有修完一个桥后才可修下一个桥)。简言之就是求最小生成树。对于数据,数据输入的第一行n代表岛屿的个数,当为0是结束程序,接着n-1行开始时为这岛屿的编号,用大写字母表示,接着是一个整数m,表示与该岛屿连接的字原创 2015-02-21 20:07:29 · 1042 阅读 · 0 评论 -
NYOJ 237 游戏高手的烦恼 && POJ3041-Asteroids ( 二分图的最大匹配 )
链接:NYOJ 237 游戏高手的烦恼:click here~~POJ 3041 Asteroids :click here~~题意:两题一样,翻译不同而已。有一位传说级游戏高手,在闲暇时间里玩起了一个小游戏,游戏中,一个n*n的方块形区域里有许多敌人,玩家可以使用炸弹炸掉某一行或者某一列的所有敌人。他是种玩什么游戏都想玩得很优秀的人,所以,他决原创 2015-02-18 21:56:44 · 1202 阅读 · 0 评论 -
二分图匹配(指派问题)
指派问题:有N台计算机和K个任务,我们可以给每台计算机分配一个任务,每台计算机能够处理的任务种类不同,请求出最多能够处理的任务的个数。思路:二分图匹配,可以这样来定义无向二分图,G=(UuV,E); U 代表计算机的顶点集合,V代表任务的顶点集合,对于任意u属于U和v属于V,计算机u能够处理的任务v(u,v)属于E二分图例子:对原图做如下改变: 将原图中所翻译 2015-02-18 19:04:57 · 2750 阅读 · 0 评论 -
NYOJ 286 动物统计
动物统计时间限制:1000 ms | 内存限制:65535 KB难度:2#include#include#includeusing namespace std;struct animal{ char s[10];}a[ 10005];bool cmp(animal a1,animal a2){ return str原创 2014-01-13 22:55:06 · 1071 阅读 · 0 评论 -
NYOJ17&&单调递增最长子序列
单调递增最长子序列时间限制:3000 ms | 内存限制:65535 KB难度:4 描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4 输入第一行一个整数0随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样原创 2014-01-14 22:09:20 · 1021 阅读 · 0 评论 -
NYOJ 264 国王的魔镜
[cpp] view plaincopy#include #include int main() { int n,i,l,f; char s[100]; while(scanf("%d",&n)!=EOF) { while(n--) {原创 2014-01-17 21:25:12 · 1334 阅读 · 0 评论 -
《网络流学习笔记03&&POJ1459 &&ZOJ 1734 Power Network(多源点,多汇点)》
题目链接:click here题意:一个电力网络有n个点,有np个发电站,nc个消耗点,其余的为中转站。m条电缆,中转站既不发电也不耗电。每条电缆都有一个最大容量。思路:设置一个超级源点和一个超级汇点,将所有的源点和汇点分别放进去,Dinic 算法实现。注意括号的处理。代码:#include #include #include #include #include原创 2015-02-11 19:56:41 · 1187 阅读 · 0 评论 -
《网络流学习笔记02--Edmonds-Karp,Ford-Fulkerson,Dinic三种算法实现最大流》
题目链接:click here三种方法都用了一下,对比得出EK最少,只用46ms。【Edmonds-Karp算法】基础的最大流算法,每次BFS寻找最短路进行增广,找出一条残余路径就可以了。然后对残余网络进行增广,不要忘记正向增广,相当于负向减少,也要在图中保存记录。最后求一个割集来得到最大流,效率O(VE2),“找任意路径”最简单的方法是用DFS,但是数据要稍微增加就会变得较慢原创 2015-02-11 18:14:08 · 1636 阅读 · 0 评论 -
NYOJ 698 A Coin Problem (斐波那契)
链接:click here题意:描述One day,Jiameier is tidying up the room,and find some coins. Then she throws the coin to play.Suddenly,she thinks of a problem ,that if throw n times coin ,how many situati原创 2015-02-23 22:44:40 · 1244 阅读 · 0 评论 -
NYOJ 191 && POJ 1012 Joseph(约瑟夫环问题)
链接:click here~~题意:假设有2k个人围着一个圆桌坐着,前k个是好人,后k个是坏人 。现在开始,每m个人踢掉一个,比如有6个人,m=5,那么,被踢掉的人依次是5,4,6,2,3,1。现在要求,在踢掉第一个好人前,必需把所有的坏人踢掉,问,给定一个k,求满足这个要求的最小的m,现在希望你写一个程序,快速的帮助小珂,计算出来这个m。思路:我们来回想一下最基本的约瑟夫环问题, n个人原创 2015-02-22 19:29:43 · 1340 阅读 · 0 评论 -
NYOJ 179 LK's problem (排序模拟)
链接:click here~~题意:描述LK has a question.Coule you help her?It is the beginning of the day at a bank, and a crowd of clients is already waiting for the entrance door to open. Once the ban原创 2015-02-24 12:39:01 · 1010 阅读 · 0 评论 -
NYOJ-682 小媛在努力 (郑大第六届校赛 模拟)
链接:click here题意:描述 在多媒体数据处理中,数据压缩算法尤为重要。小媛上完课后就想自己发明一个数据压缩算法。她想呀想,终于想到一个方法。在多媒体数据中有很多数据都是重复的,所以她想把连续相同的数据用数据出现的次数和数据本身表示。例如:1 1 1 2 3 3 3 3 3 压缩后及为3 1 1 2 5 3(表示3个1,1个2和5个3)。有想法后小媛就希望把它用代码实现了原创 2015-02-24 20:49:03 · 2011 阅读 · 0 评论