- 博客(133)
- 资源 (2)
- 收藏
- 关注
原创 广告印刷
Description 最近,afy决定给TOJ印刷广告,广告牌是刷在城市的建筑物上的,城市里有紧靠着的N(NInput 第一行,一个整数N 第二行,N个空格间隔的整数,表示从左往右每栋楼的高度Output一个整数,表示最大面积Sample Input65 8 4 4 8 4Sample Output24
2013-10-01 17:22:48 1709
原创 单调队列简述
单调队列,顾名思义,里面的各个元素是(严格)单调递增(减)的,且各个元素的下标也是单调递增(减)的。这个队列要满足队尾和队首都能够删除元素,但只有队尾能添加元素。而在删除元素的时候,就能够求得很多信息。使用单调队列往往可以优化时间复杂度至O(n)。 单调队列在oi中有很多应用和模型。 下面是几个例子:
2013-10-01 17:06:34 700
原创 hl吃披萨
Description hl来到一家自助比萨店,该店共有N种不同尺寸的比萨饼(编号1到N)供顾客享用,喜欢吃比萨饼的hl激动万分。 高兴之余,hl发现该店有一些坑爹的规定: 1.每位顾客最多只能吃K块比萨饼,并且这K块饼的尺寸必须都不相同; 2.如果顾客吃完一块尺寸为S的比萨饼,那么接下来他只能选尺寸小于S的饼吃; 3.每种比萨饼都有一个价格,顾客所吃的比萨饼
2013-09-29 19:00:56 1459
原创 第k小数
Description 现在已有N个整数,你有以下三种操作: A 表示加入一个值为A的整数 B 表示删除其中值为B的整数 K 表示输出这些整数中第K小的数Input第一行,两个整数N,M,表示最开始有N个整数,总共有M个操作 第二行用空格隔开的N个整数 接下来M行,每行表示一个操作Output若干行,一行一个整数,表示所求的第K小的数字Sample I
2013-09-28 16:07:23 933
原创 Splay的几种操作(代码)
1.右旋(zig)void _zig(int x){ int y,z; y=pr[x]; z=pr[y]; if(z==0) root=x; else if(ls[z]==y) ls[z]=x; else rs[z]=x; pr[x]=z; pr[y]=x; ls[y]=rs[x]; pr[rs[x]]=y; rs[x]=y; si
2013-09-28 16:00:32 850
原创 【NOIP 2012】 国王游戏
Description恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。 国王不希望
2013-09-28 15:02:20 10999 6
转载 最小环(有向无向均可)
朴素的算法: 令e(u,v)表示u和v之间的连边,再令min(u,v)表示,删除u和v之间的连边之后,u和v之间的最短路。那么最小环则是min(u,v) + e(u,v),时间复杂度是O(V^2E)。改进的方法: 在floyd的同时,顺便算出最小环 ans=INF; for(int k=1;k<=N;k++) { for(int i=1
2013-09-28 11:16:13 1186
原创 滑动窗口
Description给你一个长度为N(N窗口位置 最小值 最大值 [1 3 -1] -3 5 3 6 7 -1 3 1 [3 -1 -3] 5 3 6 7 -3 3 1 3 [-1 -3 5] 3 6 7 -3 5 1 3 -1
2013-09-28 09:30:41 1351
转载 背包问题求第K优解
【基本思想】 将每个状态都表示成有序队列,将状态转移方程中的max/min转化成有序队列的合并。这里以01背包为例讲解一下。【分析】 首先看01背包求最优解的状态转移方程:F[i][v]=max(F[i-1][v],F[i-1][v-C[i]]+W[i])。如果要求第K优解,一个首先想到的肯定是修改状态数组,改为F[i][v][k]。其中F[i][v][k]表示
2013-09-28 09:28:51 1628
原创 Bessie Come Home 贝西回家
Description现在是晚餐时间,而母牛们在外面分散的牧场中。农民约翰按响了电铃,所以她们开始向谷仓走去。你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只最快的母牛)。在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一些牧场上可能没有母牛。每个牧场由一条条道路和一个或多个牧场连接(可能包括自己)。有时,两个牧场(可能是字母相同的)之间会有超过一条道路相连。至
2013-09-28 09:27:57 1064
原创 Out of Hay 饲料没了
Description牛们的饲料吃完了,这是一个必须马上解决的严重问题。 Bessie想去其他农场看看他们的饲料情况。总共有N (2 Bessie想知道她需要携带多大的水壶。她每走1米的路,她就会喝掉1升的水。因为她在每个农场都可以把水壶灌满,所以她只需要考虑其中最长的一条道路。因此,她想事先设计出一条路径,使她能够达到所有的农场,并且使她携带的水尽可能少。请你帮Bessie算出她最少
2013-09-28 09:26:30 1533
原创 遗迹之门
DescriptionNightElf 是一个古老的种族,在他们的遗迹上到处都有古NightElf 的奇妙文字,这些文字都是一些十分美妙而复杂的符号。然而,现在的NightElf 人早已不认识古文字了,因为古文字过于复杂,在几十个世纪前,他们就改用简单的英文字母来代替古代的文字符号,每个古文字符号对应一个英文字母。当然,正是因为对应关系渐渐被人遗忘、,所以古代文字已经无法阅读。除了这一点之外,
2013-09-28 09:25:23 1419
转载 佳佳的困惑
给出一个数N,含数字1,2,3,4,把N的所有数字重新排列一下组成一个新数,要求这个新数是7的倍数。【分析】 把数字1,2,3,4从中各抽出1个,然后把其他数字按原顺序(其实任一顺序都可以)排列,组成自然数w。w×10000模7有7种可能,即是0,1,2,3,4,5,6,这时若能用数字1,2,3,4排列出7个数,使它们整除7取余的值分别为0,1,2,3,4,5,6。则把这个4
2013-09-28 09:21:15 892
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人