[CEOI2017]Mousetrap】的更多相关文章

P4654 [CEOI2017]Mousetrap 博弈论既视感 身临其境感受耗子和管理的心理历程. 以陷阱为根考虑.就要把耗子赶到根部. 首先一定有解. 作为耗子,为了拖延时间,必然会找到一个子树往下走. 如果耗子从子树往下走的话, 那么一定会走到一个叶子被自己卡住. 作为管理,堵路比清理容易的多.否则耗子进去了还得清理把它轰出来. 所以,耗子进入一个子树,管理先手,必定堵住花费最大的子树,耗子会到次大的子树 然后耗子还要赶回来,赶回来之前,一定先把沿途其他的路堵住,再放耗子回来 所以树形dp…
传送门 表示想不到二分答案qwq 将树看作以陷阱为根.先考虑陷阱和起始点相邻的情况,此时老鼠一定会往下走,而如果管理者此时不做操作,那么一定会选择让操作次数变得最大的一棵子树.设\(f_i\)表示当前老鼠在第\(i\)个点.管理者先手,老鼠往下然后被逼回第\(i\)个点的最小操作次数.那么管理者一定会封掉儿子中\(f\)最大的,然后老鼠进入\(f\)次大的:当老鼠走到子树中一个点不能动的时候,管理者一定会把这个点的其他没有被封住的子树全部封住,这样显然是最优的.所以\(f_i = cmx\{f_…
传送门 这里把终点设为根方便后续处理,那么目标就是要让老鼠走到根 首先考虑老鼠动不了的情况,这种情况下可以把从这个点到终点路径上的分支堵住,然后再疏通路径上的走过的边,可以发现这是这种情况下最优的决策.在这种情况下,老鼠一定是先往上走一段距离(也可能不走),然后走进某个分支的子树,再被赶到终点. 答案显然满足二分性.对于老鼠,如果有一种策略使得花费步数\(>mid\)那么\(mid\)就不合法.所以可以从起点\(start\)往上走,每到一个点看有没有分支满足这个条件.所以还要知道进入一个子树后…
Mousetrap is a simple library for handling keyboard shortcuts in Javascript. It is around 2kb minified and gzipped and 4.5kb minified, has no external dependencies, and has been tested in the following browsers: Internet Explorer 6+ Safari Firefox Ch…
Luogu4655 [CEOI2017]Building Bridges 有 \(n\) 根柱子依次排列,每根柱子都有一个高度.第 \(i\) 根柱子的高度为 \(h_i\) . 现在想要建造若干座桥,如果一座桥架在第 \(i\) 根柱子和第 \(j\) 根柱子之间,那么需要 \((h_i-h_j)^2\) 的代价. 在造桥前,所有用不到的柱子都会被拆除,因为他们会干扰造桥进程.第 \(i\) 根柱子被拆除的代价为 \(w_i\) . 现在政府想要知道,通过桥梁把第 \(1\) 根柱子和第 \(…
loj#2483. 「CEOI2017」Building Bridges 链接 https://loj.ac/problem/2483 思路 \[f[i]=f[j]+(h[i]-h[j])^2+(sum[i-1]-sum[j])\] \[f[i]=f[j]+h[i]^2+h[j]^2-2*h[i]*h[j]+sum[i-1]-sum[j]\] \[sum[j]-f[j]-h[j]^2=(-2*h[j])*h[i]+sum[i-1]+h[i]^2-f[i]\] \[f[j]+h[j]^2-sum[…
[CEOI2017]Palindromic Partitions 题目大意: 给出一个长度为\(n(n\le10^6)\)的只包含小写字母字符串,要求你将它划分成尽可能多的小块,使得这些小块构成回文串. 思路: 哈希以后从两侧往里贪心,尽量取短的. 时间复杂度\(\mathcal O(n)\). 源代码: #include<cstdio> #include<cctype> #include<cstring> inline int getint() { register…
我们日常开发中,会遇到js的键盘操作,例如回车提交表单之类的.或者按下某个键执行某个方法.无意中发现一个大小不到4K的js文件,它非常方便的操作键盘事件. 自己也尝试了一下:具体代码如下: 详情可以去其逛网查看其API并下载,地址:http://craig.is/killing/mice <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/…
Building Bridges(build) 题目描述 A wide river has nn pillars of possibly different heights standing out of the water. They are arranged in a straight line from one bank to the other. We would like to build a bridge that uses the pillars as support. To ac…
[CEOI2017]Building Bridges 有 \(n\) 个桥墩,高 \(h_i\) 重 \(w_i\).连接 \(i\) 和 \(j\) 消耗代价 \((h_i-h_j)^2\),用不到的桥墩被拆除,代价为 \(w_i\).求使 \(1\) 与 \(n\) 联通的最小代价. 数据范围:\(2\le n\le 10^5\),\(0\le h_i,|w_i|\le 10^6\). 非常经典的李超线段树维护 \(\texttt{dp}\) 的题目,小蒟蒻来分享一下. 很明显 \(w_i\…