[SDOI2012]任务安排
摘要:Description 机器上有N个需要处理的任务,它们构成了一个序列。这些任务被标号为1到N,因此序列的排列为1,2,3...N。这N个任务被分成若干批,每批包含相邻的若干任务。从时刻0开始,这些任务被分批加工,第i个任务单独完成所需的时间是Ti。在每批任务开始前,机器需要启动时间S,而完成这批任
阅读全文
posted @
2017-12-01 18:35
怡红公子
阅读(334)
推荐(0)
[ZJOI2007]仓库建设
摘要:Description L公司有N个工厂,由高到底分布在一座山上。如图所示,工厂1在山顶,工厂N在山脚。由于这座山处于高原内陆地区(干燥少雨),L公司一般把产品直接堆放在露天,以节省费用。突然有一天,L公司的总裁L先生接到气象部门的电话,被告知三天之后将有一场暴雨,于是L先生决定紧急在某些工厂建立一
阅读全文
posted @
2017-11-30 20:05
怡红公子
阅读(327)
推荐(0)
计算程序运行时间
摘要:#include#include#includeusing namespace std;int main(){ clock_t start, finish; start = clock(); // //中间程序 //...... finish = cloc...
阅读全文
posted @
2014-06-15 23:34
怡红公子
阅读(337)
推荐(0)
伸展树splay单旋PK双旋
摘要:为什么要有双旋转呢?遇到左孩子就右转,右孩子就左转不行么?试想一下如果当前是一条链的话,在查询完最深的节点后,只用N个单旋把节点单旋上去的话,splay操作后的树仍然是一条链,如图1-1至图1-5:但若是用双旋的话情况就不同了,如图2-1至2-5:
阅读全文
posted @
2013-05-31 21:04
怡红公子
阅读(2176)
推荐(0)
[HNOI2008]明明的烦恼
摘要:Description自从明明学了树的结构,就对奇怪的树产生了兴趣...... 给出标号为1到N的点,以及某些点最终的度数,允许在任意两点间连线,可产生多少棵度数满足要求的树?Input第一行为N(0 < N < = 1000),接下来N行,第i+1行给出第i个节点的度数Di,如果对度数不要求,则输入-1Output一个整数,表示不同的满足要求的树的个数,无解输出0Sample Input31-1-1Sample Output2HINT两棵树分别为1-2-3;1-3-2该题运用到了树的prufer编码的性质: (1)树的prufer编码的实现 不断 删除树中度数为1的最小序号的点,
阅读全文
posted @
2013-03-10 11:39
怡红公子
阅读(2260)
推荐(1)
(转载)求生成树的个数——matrix-tree算法
摘要:题目的大意是给你一些点的坐标,然后有一个距离限制R。如果两点之间的距离小于R且他们之间没有点与他们共线就可以连通。最后要你求连通图的个数。这个题目让我又学到了一点,那就是用矩阵树定理来计算生成树的个数。在这里我不就证明展开讨论,因为我证明不来,感兴趣的可以看看周冬《生成树的计数及其应用》。我就直接说定理就好了。Matrix-Tree定理是解决生成树计数问题最有力的武器之一。它首先于1847年被Kirchhoff证明。在介绍定理之前,我们首先明确几个概念:1、G的度数矩阵D[G]是一个n*n的矩阵,并且满足:当i≠j时,dij=0;当i=j时,dij等于vi的度数。2、G的邻接矩阵A[G]也是一
阅读全文
posted @
2013-03-03 20:09
怡红公子
阅读(4186)
推荐(0)
题目:11月15日的快乐
摘要:题目描述背景 Background终于到了一年一度的11月15日,神牛OIer 们又可以去刷题了。今年参加NOIP的人特别多。某省的参赛地点排满了长队。人们在路上惊奇的发现,有很多老同学、老朋友也参加了比赛。一路上,人们谈笑风生,兴奋不已……考完了NOIP,大家又一路同行回到了各自的家,开始了狂欢夜。多么令人期待和兴奋的一天!不过其实,人们最高兴的还不是遇见老朋友,而是结交新朋友。可是结交新的朋友就需要很多时间,而除了考试之外时间并不多。例如小L,他在NOIP的入口处等待开门时,决定趁机和其它市县的牛们多套近乎。可是队伍太长,且人们都很自觉的站成仅仅一列,而小L又很想多交不同地方的朋友,因此小
阅读全文
posted @
2012-10-06 22:03
怡红公子
阅读(284)
推荐(0)
题目:美丽的中国结
摘要:题目描述题目背景kitty刚刚高三毕业.看到同学们都回家的回家,旅游的旅游,她的心里有些落寞.英俊潇洒风流倜傥迷倒万千KL却仅对kitty感冒的fish看在眼里,急在心里.一天,fish提出和kitty两个人一起外出旅游.kitty犹豫了几天,想好能瞒过家长的理由后(要问是什么……自己猜去),答应了.fish很高兴地带着kitty去登记了(别想歪,登记旅游团而已……),日照青岛五日游.当然啦,他们玩得很高兴.虽然这次旅行是fish先提议的,但kitty因为玩得很畅快(刚高考完嘛),所以想送给fish一份礼物,一份能让见多识广的fish都无法忘怀的礼物.她从路边 9¾站台的某算命先生那
阅读全文
posted @
2012-08-12 20:05
怡红公子
阅读(337)
推荐(0)
C++ 中的数学计算函数
摘要:这是我从网上搜集来的,值得看看。 1 #include <iostream> 2 #include <cmath> 3 using namespace std; 4 int main() 5 { 6 double pi,e,n; 7 int i; 8 pi = acos(-1.0); 9 e = exp(1.0);10 cout << "abs(-10) = " << abs(-10) << "\n";//求整数的绝对值11 cout << "fabs(-10.8) = &
阅读全文
posted @
2012-08-11 15:33
怡红公子
阅读(1000)
推荐(0)
编程时尽量使用全局数组
摘要:不然wa的很奇妙。全局变量可开的数组要大很多!
阅读全文
posted @
2012-08-08 16:26
怡红公子
阅读(160)
推荐(0)
求无向图最小环算法
摘要:floyd算法。有 i 出发返回 i 的最小环=min{d[i][j]+map[i][k]+map[k][j]};for(k=1;k<=n;k++){for(i=1;i<k;i++)for(j=i+1;j<k;j++)if(d[i][j]+m[i][k]+m[k][j]<min)min=d[i][j]+m[i][k]+m[k][j];for(i=1;i<=n;i++)for(j=1;j<=n;j++)if(d[i][k]+d[k][j]<d[i][j])d[i][j]=d[i][k]+d[k][j];}根据floyd算法的性质,k 时,d[i][j]中
阅读全文
posted @
2012-07-25 00:37
怡红公子
阅读(705)
推荐(0)
擦去字符串
摘要:s.erase(i,n); //将string数组由位标i→i+n清除。i+1
阅读全文
posted @
2012-07-09 01:30
怡红公子
阅读(163)
推荐(0)
对拍程序
摘要:@echo off:loop data.exe echo %time%>>time.txt right.exe echo %time%>>time.txt wrong.exe fc right.out wrong.out if not errorlevel 1 goto loop pausegoto loop格式为 .bat @echo off 的作用是关闭回显data.exe 是数据生成器,将数据储存于一个文本中,echo %time%>>time.txt 记录此时时间到time.txt然后 right.exe 和 wrong.exe ...
阅读全文
posted @
2012-06-15 00:05
怡红公子
阅读(688)
推荐(0)
取整函数
摘要:C++中的两个取整函数,一个ceil和一个floor,很有用的。头文件:math.h
阅读全文
posted @
2012-06-02 18:38
怡红公子
阅读(180)
推荐(0)
怎样判断输入是否结束
摘要:while (!fin.eof())a+=fin.get();
阅读全文
posted @
2012-03-07 20:54
怡红公子
阅读(273)
推荐(0)
线段树的讲解
摘要:转载关于线段树的讲解好久没写过算法了,添一个吧,写一个线段树的入门知识,比较大众化。上次在湖大,其中的一道题数据很强,我试了好多种优化都TLE,相信只能用线段树才能过。回来之后暗暗又学了一次线段树,想想好像是第三次学了,像网络流一样每学一次都有新的体会。把问题简化一下:在自然数,且所有的数不大于30000的范围内讨论一个问题:现在已知n条线段,把端点依次输入告诉你,然后有m个询问,每个询问输入一个点,要求这个点在多少条线段上出现过;最基本的解法当然就是读一个点,就把所有线段比一下,看看在不在线段中;每次询问都要把n条线段查一次,那么m次询问,就要运算m*n次,复杂度就是O(m*n)这道题m和n
阅读全文
posted @
2012-02-26 16:09
怡红公子
阅读(377)
推荐(1)