导航

2015年8月12日

摘要: 感谢《啊哈!算法》的讲解,水鸟弄懂了什么是优先队列。题意是:在路上有很多石子,给出他们的初始位置和小明能够将他们扔出的距离,当小明遇到奇数个石子的时候就会把它扔出,遇到偶数个就会忽略他,一直走到路上没有石子为止,求解最后一个石子的位置。一开始用排序做的,果断超时,看了题解才知道这是优先队列。贴优先队... 阅读全文

posted @ 2015-08-12 11:39 tun~ 阅读(124) 评论(0) 推荐(0) 编辑

2015年5月25日

摘要: 受虐的晚上==感谢大神的博客http://www.cnblogs.com/crazyapple/p/3233149.html题意:第一行是整数N,代表队伍一共有N个人。然后N行,第一个数字代表N进队的时候前边有几个人,第二个数字是第I个人的标识符。求最后队伍的顺序,一次输出标识符。思路:思路是大神的... 阅读全文

posted @ 2015-05-25 21:46 tun~ 阅读(136) 评论(0) 推荐(0) 编辑

2015年5月24日

摘要: 题意:有一块矩形板,依次给定高,宽,和要贴的广告条的数量。广告条的高度都是1,宽度依次给定。问:假设我们先按照从最上边开始贴,再按照从左边开始贴的顺序贴广告条,输出每条广告条应当贴在哪一行。如果不能贴上,输出-1思路:将广告条的行数看作线段树的元素(这里有坑,因为题目所给的10^9次方是不能被记录下... 阅读全文

posted @ 2015-05-24 14:31 tun~ 阅读(113) 评论(0) 推荐(0) 编辑

2015年5月23日

摘要: (中文题意)第二道线段树。同样是水题。但是一开始我把线段树区间段代表的数字简单理解成各个区间的数字的和。但是这道题让我知道这个数组记录的数字是根据需要定义的。本题区间段记录的是该区间段的最大值。#include#includeusing namespace std;int newcha,subb,m... 阅读全文

posted @ 2015-05-23 12:51 tun~ 阅读(105) 评论(0) 推荐(0) 编辑

摘要: (中文题意)线段树水题。我写的第一个线段树。re是因为数组开小了。线段树的数组下次开3*n,而不是2*n。#include#includeusing namespace std;int n,tar,val,ans;bool ok;struct tr{ int l,r,num;};int tmp... 阅读全文

posted @ 2015-05-23 12:48 tun~ 阅读(199) 评论(0) 推荐(0) 编辑

摘要: 题意:给定一串数字的个数n,输入这串数字(每个数字都是从0到n-1不重复)。每次可以把这串数字的前边几个数平移到末尾。问所有情况下此串最少存在多少对逆序数。做线段树专题的时候找到这道题。一开始各种不懂(屌丝第一次明白什么是逆序数)。后来看了大神的博客之后明白了怎么搞平移。但是最终还是决定写暴力了。#... 阅读全文

posted @ 2015-05-23 12:44 tun~ 阅读(142) 评论(0) 推荐(0) 编辑

2015年5月20日

摘要: 并查集的离线算法。题意是大坑。理解为寻找两点之间所有路径中的最长的边的值小于输入的值的点对的个数。直接来代码。#include#include#includeusing namespace std;struct ab{ int a,b,c;};int n;struct ab poi[50050... 阅读全文

posted @ 2015-05-20 21:41 tun~ 阅读(198) 评论(0) 推荐(0) 编辑

摘要: 输入线段的两个短点,如果线段相交那么他们属于一个集合,查看第i条线段所在的集合有几条线段。好久没码码了,总是各种蠢。首先找出两条直线的方程,求解相交点的横坐标,然后看是不是在线段内部。没有注意题目中从1开始数,我自己写的从0开始数,各种wa。同时,又受到了杭电的输出大坑(between和fllowe... 阅读全文

posted @ 2015-05-20 21:36 tun~ 阅读(84) 评论(0) 推荐(0) 编辑

2015年4月15日

摘要: 这道题做得有点醉,根本没明白题目什么意思....做了半天才发现不对....涉及到概率方面最基本的乘法定则...#include#includedouble dp[10001];double max(double a,double b){ if(a>b) return a; ... 阅读全文

posted @ 2015-04-15 18:04 tun~ 阅读(114) 评论(0) 推荐(0) 编辑

摘要: 发票的额度是小数,但是只要求精确到两位,所以我们把初始数据乘以100进行处理。这道题我比较纠结的是dp的数组到底开多大...开大了内存超限,小了数组越界。#include#includeint val[50];//记录符合报销条件的发票的额度。(乘以100以后)int tmp[26];//临时记录发... 阅读全文

posted @ 2015-04-15 18:01 tun~ 阅读(91) 评论(0) 推荐(0) 编辑