摘要: 看题传送门嗯,RMQ问题。纠结了好久,不过总算弄懂了@。@#include#include#includeusing namespace std;const int MAXN=100000+10;const int MANX_LOGN=20;int a[MAXN],left[MAXN],right[... 阅读全文
posted @ 2013-08-03 23:51 hr_whisper 阅读(105) 评论(0) 推荐(0) 编辑
摘要: LA看题 请点击:传送门UVA 上也有这题 :UVA1160 - X-Plosives题目大意就是如果车上存在 k 个简单化合物,正好包含 k 种元素 ,那么它们将有危险,此时你应该拒绝装车。 要求输出没有装车的化合物。把每个元素看成顶点,则一个简单化合物就是一条边。如果存在环形,那么组成环的化合物... 阅读全文
posted @ 2013-08-02 23:11 hr_whisper 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 组合数求模要用逆元,用到了扩展的欧几里得算法。#includeint mod;typedef long long LL;void gcd(LL a,LL b,LL &d,LL &x,LL &y){ if(!b) {d=a;x=1;y=0;} else { gcd(b,a%b,d,y,x); y-=x... 阅读全文
posted @ 2013-08-02 21:53 hr_whisper 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 看题请点击:传送门题目只查询结点到根结点的距离,所以跟结点不能动,但其他的随意。符合并查集的特点。用d[i]记录到父结点的距离,在查询时更新为到根结点的距离就好了。#include#include#include#includeusing namespace std;const int MAXN=2... 阅读全文
posted @ 2013-08-02 17:33 hr_whisper 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 看题:传送门大意就是让你编写一个称为argus的系统,这个系统支持一个register的命令: Register Q_num Period该命令注册了一个触发器,它每Period秒就会残生一个编号为 Q_num的事件。你的任务就是模拟出前k个事件。如果多个事情同时发生,先处理Q_num小的事件。优先... 阅读全文
posted @ 2013-08-02 11:29 hr_whisper 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 用map 和vector很巧妙的解决了#include#include#include#includeusing namespace std;map > a;int main(){ int n,m; while(scanf("%d%d",&n,&m)!=EOF) { a.clear(); i... 阅读全文
posted @ 2013-08-02 10:06 hr_whisper 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 大意:猜数据结构是栈、队列或者优先队列,可能为两种以上,也可能都不是。水题。。STL 记得判断是否为空#include#include#include#includeusing namespace std;const int MAXN=1000+24;int num[MAXN],action[MAX... 阅读全文
posted @ 2013-08-01 23:12 hr_whisper 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 嗯,每一只Tribles只活一天,求m天后所有Tribles均死亡的概率。Tribles临死前可能产生新的Tribles,产生i 个Tribles的概率为pi(i从0开始哦)我们只需要求出1只Tribles m天后均死亡的概率就可以了。然后k只就是它的k次幂。设f( i )为 在 i 天全部死亡的概... 阅读全文
posted @ 2013-08-01 21:04 hr_whisper 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 写得泪奔了。我已开始MAXN写到了2048,数组也是开到2048,结果WA不断。还以为是高精度写错了。然后重写了三四遍,尼玛还是WA。还有今天UVA连接好慢,我都成F5党了。交上去的代码一片CP(连接失败。。代码交不全)后来把MAXN改为2000 数组2048直接AC了。测试数据不是说1~2000么... 阅读全文
posted @ 2013-07-31 23:55 hr_whisper 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 我的思路一点都没错,就是求组合的时候出了点错T T直接容斥原理就好了。设A(去掉最后一行)B(去掉最上面一行)C(去掉最右边一行)D(去掉最左边一行)Ans= A∪B∪C∪D-A-B-C-D+ A∩B + A∩C + A∩D + B∩C + B∩D + C∩D-A∩B∩C- A∩B∩D- A∩C∩D... 阅读全文
posted @ 2013-07-31 13:53 hr_whisper 阅读(101) 评论(0) 推荐(0) 编辑