其他
文章平均质量分 61
nKessi
这个作者很懒,什么都没留下…
展开
-
「NOI2010」超级钢琴
linkRMQ练手题,只要不把题目读错就是道水题。因为是连续的,不妨考虑前缀和。注意这里超级和弦不同值它们的位置不同(不是值)。即求 max(∑pre[r]−pre[l−1])max({\sum pre[r]-pre[l-1]})max(∑pre[r]−pre[l−1])。把所有的数放进优先队列里显然是不行的。套路,考虑将所有的左端点放进优先队列里面,则为一个五元组 (i,l,r,v,num)(i,l,r,v,num)(i,l,r,v,num),vvv 表示 max(pre[l→r]−pre[i原创 2021-05-12 14:10:41 · 273 阅读 · 0 评论 -
CF10E Greedy Change
link其实这种题涉及到很多的证明,大胆猜想不要怕错先想想我们要干什么,肯定是使真实值比贪心值小啊。考虑什么时候真实值比贪心值小,不妨观察一下样例。(方便理解)trick:对于一个数 a[L]a[L]a[L],找到一个离 a[L]a[L]a[L] 较近的值,使贪心算法后要用更多零碎的值(这显然对吧)。考虑具体怎么实现,对于一个区间 (l,r](l,r](l,r],只取里面的数,使得总和为 X(X略大于a[l])X(X略大于a[l])X(X略大于a[l]),使取完 a[l]a[l]a[l] 后,需要原创 2021-05-11 19:49:56 · 145 阅读 · 0 评论 -
关于生成随机数
当我们需要对拍或其他操作时,常常需要生成随机数。注:随机数不是真的随机,是算出来的。那随机数又该怎么生成呢?1.rand()rand()rand()rand()函数生成 [0,32767][0,32767][0,32767] 间的随机数。头文件:#include <cstdlib>2.time()time()time()time() 返回从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。头文件:#include <ctime>3.srand原创 2020-11-15 15:52:39 · 458 阅读 · 0 评论