摘要: 题意 $n$座山组成一个环,相连的圆弧上其他山它们高那么这两座山能互相看到,求能看到的山的组数。 题解 设$left[i]$表示左边第一个比$i$高的位置,同理$right[i]$表示右边第一个比i高的位置。$count[i]$表示i到$right[i]$区间($i$不在区间内,$right[i]$ 阅读全文
posted @ 2019-04-18 15:33 Trimsteanima 阅读(162) 评论(0) 推荐(0) 编辑
摘要: D题 题目就是让你找出题面中拼错的单词,拼错的字母组合成一句话就是正确的题面。 two plus xor of third and min elements cpp include using namespace std; int n, a[10000], minn; int main () { s 阅读全文
posted @ 2019-04-18 15:20 Trimsteanima 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 既然 $ n \leq 2000$ 那我们就假使所有的 $n = 2000 $ ~~主要是为了方便~~。再使 $x = \sum_{i=1} ^ {1999}$ 以及 $a_1=a_2=a_3=...=a_{1998}=0 $,$a_{1999}= d$,$a_{2000}=x+d$。 正确答案就应 阅读全文
posted @ 2019-04-18 15:15 Trimsteanima 阅读(116) 评论(0) 推荐(0) 编辑
摘要: Description 给定n个点,m条边,k个标记点,hack掉给出的程序。 Solution 先考虑不可能hack掉的情况。当所有点都是标记点的时候肯定不能hack掉,也就是$n=k$。还有就是$m n (n 1) / 2 k + 1$(也就是最多可构造的边)。 能hack的情况下,我们先将标记 阅读全文
posted @ 2019-04-18 15:14 Trimsteanima 阅读(123) 评论(0) 推荐(0) 编辑
摘要: Solution 一看就是很水的区间DP $dp[i][j]$表示区间$[l,r]$都涂成同色的代价。 $dp[i][j] = min( dp[i][j], dp[i][k] + dp[k][j] + 1)$ cpp include using namespace std; int n, x, a[ 阅读全文
posted @ 2019-04-18 15:14 Trimsteanima 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 定义哈希函数 $H(c)=\sum_{i = 1} ^ m c_i b^{m i}$ $H(C,K+1)=H(C,K) b+C_{K+1}$(K个坏字母) 用long long 阅读全文
posted @ 2019-04-18 15:14 Trimsteanima 阅读(421) 评论(0) 推荐(0) 编辑
摘要: Description 给一棵树,每个点是子节点的最大值或最小值,将叶子节点填上整数,使这棵树的根最大。 Solution 明显的$dp$题,代码很短。 分类讨论如下: 1、如果是叶子节点,$d_x = 1$ 2、如果是$min$节点,$d_x =\sum_{y \in son_x} d_y$ 3、 阅读全文
posted @ 2019-04-18 15:12 Trimsteanima 阅读(217) 评论(0) 推荐(0) 编辑
Live2D