
ACM
文章平均质量分 66
Tejnx
冒泡算法打动不了你超时的心!!
展开
-
原来我一直不懂二分!!
以下内容纯粹个人理解,如有误导你,怪我喽。。。传统意义上老师讲授的二分就是一个思路,通过中间值mid来判断,int search(int len,int val){ int l = 0,r = len-1,mid=0; while(l<=r) //这里为什么是 <= 呢?而不是 < 呢? { mid = (l+r)/2; if(arr[mid]==val) ret原创 2016-08-07 11:50:15 · 243 阅读 · 0 评论 -
NYOJ 176 整数划分(二)
整数划分(二)时间限制:1000 ms | 内存限制:65535 KB难度:3描述把一个正整数m分成n个正整数的和,有多少种分法?例:把5分成3个正正数的和,有两种分法:1 1 31 2 2输入第一行是一个整数T表示共有T组测试数据(T每组测试数据都是两个正整数m,n,其中(1输出输出拆分的方法的数原创 2016-09-03 08:47:46 · 338 阅读 · 0 评论 -
NYOJ 983 首尾相连数组的最大子数组和
首尾相连数组的最大子数组和时间限制:1000 ms | 内存限制:65535 KB难度:4描述给定一个由N个整数元素组成的数组arr,数组中有正数也有负数,这个数组不是一般的数组,其首尾是相连的。数组中一个或多个连续元素可以组成一个子数组,其中存在这样的子数组arr[i],…arr[n-1],arr[0],…,arr[j],现在请你这个ACM_Lover用一个最原创 2016-09-02 20:25:42 · 313 阅读 · 0 评论 -
NYOJ 823 人形序列
人形序列时间限制:1000 ms | 内存限制:65535 KB难度:2描述 给你一个序列,你能求出最长的人字形子序列吗?即先递增后递减且递增递减长度相等的序列,且子序列中相邻元素不相同输入多组测试数据,每组测试数据第一行输入一个N(1输出输出最长人字形序列长度样例输入51 3 5 4 291 2 2 3 5 1 2 3 10样例输出55提示原创 2016-12-06 21:18:48 · 329 阅读 · 0 评论 -
NYOJ 1276 机器设备
机器设备时间限制:1000 ms | 内存限制:65535 KB难度:2描述 Alpha 公司设计出一种节能的机器设备。它的内部结构是由 N 个齿轮组成。整个机器设备有 一个驱动齿轮,当启动它时,它立即按 10,000 圈/小时转速顺时针转动,然后它又带动与它相切 的齿轮反方向,即逆时针转动。齿轮之间互相作用,每个齿轮都可能驱动着多个齿轮,最终带动 一个工作齿轮完成相应原创 2016-12-04 20:55:50 · 381 阅读 · 0 评论 -
NYOJ 109数列转换
数列转换时间限制:3000 ms | 内存限制:65535 KB难度:3描述有一个数列a1,a2,a3...an,每次可以从中任意选三个相邻的数ai-1 ,ai , ai+1 ,进行如下操作(此操作称为“对ai进行操作”)(ai-1,ai,ai+1)->(ai-1+ai,-ai,ai+ai+1)给定初始和目标序列,是否能通过以上操作,将初原创 2016-12-03 15:59:44 · 524 阅读 · 0 评论 -
POJ 2139 floyd最短路径
题意:有n头牛,如果两头牛同拍一部电影,这他们之间的距离为一,如果两头牛都和第三头牛拍过同一部电影,那么它们之间的距离经第三头牛传递就为2,,,求那一头牛与其它牛距离的平均值最小,把他乘一百输出。(求的时候,先扩大一百倍再求平均值)思路:floyd算法的入门题,只有把输入数据转换为图的邻接矩阵表示就好#include #include #include using namespace原创 2016-12-02 19:36:44 · 335 阅读 · 0 评论 -
POJ 3614 Sunscreen 优先队列
题意有C个奶牛去晒太阳 (1 而刚开始的阳光的强度非常大,奶牛都承受不住,然后奶牛就得涂抹防晒霜,防晒霜的作用是让阳光照在身上的阳光强度固定为某个值。那么为了不让奶牛烫伤,又不会没有效果。给出了L种防晒霜。每种的数量和固定的阳光强度也给出来了每个奶牛只能抹一瓶防晒霜,最后问能够享受晒太阳的奶牛有几个。思路将奶牛和防晒霜的数据都按从小到大的顺序排序;将满足bot[原创 2016-11-22 20:17:30 · 297 阅读 · 0 评论 -
POJ 3616 Milking time
有n个小时的工作时间和m个工作区间,每次挤奶后休息r分钟第一行输入 n m r随后的m行有3个数分别表示 开始时间 结束时间 产量输出能生产的最大值思路区间dp,可以把休息的时间加到结束的时间后面dp[i]表示第i个区间的最大值dp[i] = max(dp[i],dp[j]+wight[i]);其中j表示可在i之前生产的所以情况的遍历原创 2016-11-09 12:53:16 · 239 阅读 · 0 评论 -
POJ 3050 Hopscotch
HopscotchTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 3460 Accepted: 2380DescriptionThe cows play the child's game of hopscotch in a non-traditional wa原创 2016-10-12 10:44:02 · 252 阅读 · 0 评论 -
关于memset()和fill()的使用
一开始接触c的时候,最先用的数组初始化函数就是memset(),但是这是个用于初始化字符的函数,而且赋值是以字节为单位的,对与一般的数组的话,只能有0,和-1 这两个值的初始化,其他的初始化并不能按要求达到,具体细节自己百度使用方法(多用于对一,二维数组初始化为0)memset(arr,0,sizeof(arr)) 有三个参数,第一个是数组的地址(一二维都一样), 第二个原创 2016-09-03 15:31:39 · 1228 阅读 · 0 评论 -
POJ 3009 Curling 2.0
Curling 2.0Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 18264 Accepted: 7517DescriptionOn Planet MM-21, after their Olympic games this year, curling原创 2016-09-10 10:45:36 · 258 阅读 · 0 评论 -
NYOJ 923 Children’s Queue
Children’s Queue时间限制:1000 ms | 内存限制:65535 KB难度:3描述There are many students in PHT School. One day, the headmaster whose name is PigHeader wanted all students stand in a line. He presc转载 2016-08-30 09:15:28 · 464 阅读 · 0 评论 -
NYOJ 841-又见拦截导弹
又见拦截导弹时间限制:3000 ms | 内存限制:65535 KB难度:3描述大家对拦截导弹那个题目应该比较熟悉了,我再叙述一下题意:某国为了防御敌国的导弹袭击,新研制出来一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度。突然有一天,雷达捕捉到敌国的导弹来袭。由于该系统存在缺陷原创 2016-09-01 20:44:45 · 376 阅读 · 0 评论 -
NYOJ 860 又见01背包
又见01背包时间限制:1000 ms | 内存限制:65535 KB难度:3描述 有n个重量和价值分别为wi 和 vi 的 物品,从这些物品中选择总重量不超过 W 的物品,求所有挑选方案中物品价值总和的最大值。 1 1 1 1 输入多组测试数据。每组测试数据第一行输入,n 和 W ,接下来有n行,每行输原创 2016-09-03 16:13:02 · 214 阅读 · 0 评论 -
关于编程中的无穷大的一些事
如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值。如果这个无穷大只用于一般的比较(比如求最小值时min变量的初值),那么0x7fffffff确实是一个完美的选择,但是在更多的情况下,0x7fffffff并不是一个好的选择。很多时候我们并不只是单纯拿无穷大来作比较,而是会运算后再做比转载 2016-09-03 16:15:18 · 463 阅读 · 0 评论 -
POJ 3187 Backward Digit Sums
Backward Digit SumsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6463 Accepted: 3750DescriptionFJ and his cows enjoy playing a mental game. They write d原创 2016-10-11 16:25:01 · 198 阅读 · 0 评论 -
POJ 3253 Fence Repair
Fence RepairTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 41285 Accepted: 13462DescriptionFarmer John wants to repair a small length of the fence arou原创 2016-10-09 20:14:15 · 201 阅读 · 0 评论 -
C++ 优先队列的基本使用方法
http://blog.youkuaiyun.com/senyelicone/article/details/51850284转载 2016-10-09 19:23:29 · 510 阅读 · 0 评论 -
POJ 2431 Expedition
ExpeditionTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 13234 Accepted: 3755DescriptionA group of cows grabbed a truck and ventured on an expedition dee原创 2016-10-08 17:20:46 · 224 阅读 · 0 评论 -
POJ 3669 Meteor Shower
Meteor ShowerTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 16015 Accepted: 4216DescriptionBessie hears that an extraordinary meteor shower is coming;原创 2016-09-10 16:26:57 · 321 阅读 · 0 评论 -
1328 Radar Installation
Radar InstallationTime Limit: 1000MS Memory Limit: 10000KTotal Submissions: 78607 Accepted: 17589DescriptionAssume the coasting is an infinite straight line. Land i原创 2016-10-19 13:08:39 · 255 阅读 · 0 评论 -
POJ 3190 Stall Reservations
Stall ReservationsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 5738 Accepted: 2095 Special JudgeDescriptionOh those picky N (1 <= N <= 50,000) cows原创 2016-10-24 20:54:50 · 257 阅读 · 0 评论 -
c中角度和弧度的转换
角度 a a/180 * pi 转化为弧度pi = 2acos(0.0) ,可以求出π的值原创 2016-11-07 20:24:00 · 8059 阅读 · 0 评论 -
POJ 2485 Highways (Prime)
/*POJ 2485 HighwaysHighwaysTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 27341 Accepted: 12484DescriptionThe island nation of Flatopia is perfectly flat. Unfortunately,原创 2017-03-08 10:53:59 · 270 阅读 · 0 评论 -
NYOJ 163 phone list
Given a list of phone numbers, determine if it is consistent in the sense that no number is the prefix of another. Let's say the phone catalogue listed these numbers:Emergency 911Alice 97 625 999B原创 2017-03-29 21:29:16 · 247 阅读 · 0 评论 -
杂记
现在是2017年3月的最后几天了,距离5月初的ACM省赛还有最后一个月的时间了,想想过的还挺快,从刚接触c到进入ACM工作室到今天,1.5年了,如今的我已经大二了,有时感觉自己吧,处理偶尔写几个破程序意外好像一无是处,而且最近连破程序都写的不是很6了,,,好多时候都在和千千万万的普通大学生一样思考着大学的意义,想来想去最能打动自己的说法大概就是没什么意义吧!也许是临近比赛的缘故吧,让自己颇为焦原创 2017-03-29 21:23:08 · 294 阅读 · 0 评论 -
什么是离散化
如果说今年这时候OIBH问得最多的问题是二分图,那么去年这时候问得最多的算是离散化了。对于“什么是离散化”,搜索帖子你会发现有各种说法,比如“排序后处理”、“对坐标的近似处理”等等。哪个是对的呢?哪个都对。关键在于,这需要一些例子和不少的讲解才能完全解释清楚。 离散化是程序设计中一个非常常用的技巧,它可以有效的降低时间复杂度。其基本思想就是在众多可能的情况中“只考虑我需要用的值”。下面我转载 2017-04-01 08:53:12 · 516 阅读 · 0 评论 -
尺取法
常用的解题技巧:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法,一般用于求取有一定限制的区间个数或最短的区间等等。当然任何技巧都存在其不转载 2017-04-01 09:28:04 · 290 阅读 · 0 评论 -
线段树入门之入门
地址 http://blog.youkuaiyun.com/x314542916/article/details/7837276 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。 对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区间为[(a+b)/2+转载 2017-04-05 10:40:44 · 219 阅读 · 0 评论 -
C++STL全排列的简单实现
next_permutation函数 组合数学中经常用到排列,这里介绍一个计算序列全排列的函数:next_permutation(start,end),和prev_permutation(start,end)。这两个函数作用是一样的,区别就在于前者求的是当前排列的下一个排列,后一个求的是当前排列的上一个排列。至于这里的“前一个”和“后一个”,我们可以把它理解为序列的字典序的前后,转载 2017-04-08 08:20:44 · 692 阅读 · 0 评论 -
POJ 2299Ultra-QuickSort(冒泡交换次数)
题目链接 http://poj.org/problem?id=2299题意:大意求冒泡算法需要交换的次数原创 2017-04-10 15:57:46 · 301 阅读 · 0 评论 -
POJ 2686 Travelling by Stagecoach(状态压缩dp)
题目链接:http://poj.org/problem?id=2686题意:百度翻译思路:来自《挑战程序设计》 Page194 虽然可以吧城市看作顶点,道路看作边建图,但是由于车票相关的限制,无法直接使用 Dijkstra 算法求解,不过,这种情况下只需要吧状态作为定点,而把状态转移看成边来构建图就可以很好的避免这个问题。 让我们考虑一下 ”现在的城市v,此时还剩下的车转载 2017-04-11 17:21:27 · 359 阅读 · 0 评论 -
NYOJ 116 士兵杀敌(二)
士兵杀敌(二)时间限制:1000 ms | 内存限制:65535 KB难度:5描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的。小工是南将军手下的军师,南将军经常想知道第m号到第n号士兵的总杀敌数,请你帮助小工来回答南将军吧。南将军的某次询问之后士兵i可能又杀敌q人,之后南将军再询问的时候,需要考虑到新增的杀敌数。输入只有一组测原创 2017-02-22 20:58:17 · 226 阅读 · 0 评论 -
线段树详解
http://blog.youkuaiyun.com/metalseed/article/details/8039326转载 2017-02-25 10:11:26 · 219 阅读 · 0 评论 -
关于string类的倒序和反向迭代器
原文链接http://blog.youkuaiyun.com/easyiocp/article/details/7172434如何用c++来实现字符串的倒序呢我直接想到的是利用反向迭代器reverse_iterator:rbegin()和rend():string str1("1234567890"); string str2(str1.rbegin(), str1.rend());转载 2016-11-13 20:01:58 · 2028 阅读 · 0 评论 -
HUD 1272 (并查集判断是否有环)
小希的迷宫Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 41583 Accepted Submission(s): 12822Problem Description上次Gardon的迷宫城堡小希玩了很久(原创 2016-11-22 16:58:07 · 323 阅读 · 0 评论 -
map容器的基本操作
仅供了解C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值。 一、map的说明 1 头文件 #include 2 定义 map my_Map; 或者是typedef map MY_MAP; MY_MAP my_Map;转载 2016-11-14 20:21:10 · 1476 阅读 · 0 评论 -
POJ3280 Cheapest Palindrome
Cheapest PalindromeTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 8982 Accepted: 4353DescriptionKeeping track of all the cows can be a tricky task so原创 2016-11-16 19:53:20 · 242 阅读 · 0 评论 -
并查集
int par[MAXN];int deep[MAXN];void init(int n)//初始化 { for(int i=0;i<n;i++) { par[i] = i; deep[i] = 0; }} int find(int x)//找根 { if(par[x] == x) return x; else return par[x] = find(原创 2016-11-22 17:19:41 · 192 阅读 · 0 评论