上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 120 下一页
摘要: 特别神的一道题. 有一句话要反复揣摩:题中给的所有点构成一个多边形!! 而且读入还是按照多边形的轮廓读进来的!!! 我们知道,如果对称轴确定的话判定条件是对应角相等且对应边相等. 所以把相邻边夹角和边长看成二元组,然后倍长原串,跑一个 $mancher$ 求几个串的回文半径最大就行了. 代码就不贴了 阅读全文
posted @ 2019-11-08 16:19 EM-LGH 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 考试 T2,是一个脑筋急转弯. 最暴力的贪心是每次先选左,再选右,再选左..... 然而这么做在一些情况下是错的. 但是,我们发现我们的选法一定是 $LLLLRLRLRLRLR$ 或 $RRRRLRLRLRLRLR$ (易证明) 所以直接枚举第一次向左/右走多少次,然后剩余的直接 $O(1)$ 计算 阅读全文
posted @ 2019-11-06 22:03 EM-LGH 阅读(242) 评论(1) 推荐(0) 编辑
摘要: 比较简单的状压 dp,令 $f[S][i]$ 表示已经经过的点集为 $S$,且最后一个访问的位置为 $i$ 的方案数. 然后随便转移一下就可以了,可以用 $lowbit$ 来优化一下枚举. code: #include <bits/stdc++.h> #define N 21 #define LL 阅读全文
posted @ 2019-11-06 20:59 EM-LGH 阅读(134) 评论(0) 推荐(0) 编辑
摘要: code: #include <bits/stdc++.h> #define N 1005 using namespace std; void setIO(string s) { string in=s+".in"; string out=s+".out"; freopen(in.c_str()," 阅读全文
posted @ 2019-11-06 19:45 EM-LGH 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意:给定一个序列,每个位置有 $t_{i},b_{i}$ 两个属性,分别代表该点的权值,和 $i$ 后面只允许不超过 $i+b_{i}$ 在 $i$ 前打饭. 而每一次 $i$ 打饭的代价为 $上一个打饭位置t_{上一个打饭位置}$ ^ $t_{i}$ 求一种分配打饭的先后顺序,使得总代价最小. 阅读全文
posted @ 2019-11-06 17:04 EM-LGH 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 思路非常好想,但是你很难想到去用这个算法,因为这个几乎就是个乱搞~ 我们发现多项式中每一个系数都很大,但是 $m$ 却很小,即最多只用 $10^6$ 个整数需要验证. 我们知道,如果一个数等于 $0$,那么这个数模任何一个数也都应该该等于 $0$ 所以可以直接取 $3$ 个左右的质数当模数,分别带值 阅读全文
posted @ 2019-11-05 20:32 EM-LGH 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 还是老套路:期望图上的格子数=$\sum$ 每个格子被涂上的期望=$\sum$1-格子不被图上的概率 这样的话就相对好算了. 那么,对于 $(i,j)$ 来说,讨论一下上,下,左,右即可. 然后发现四个角的面积会被重复统计,所以再减去 $4$ 个角的贡献即可. #include <bits/stdc 阅读全文
posted @ 2019-11-05 17:25 EM-LGH 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意:有一个栈,随机插入 $n$ 次 $0$/$1$ 如果栈顶是 $1$,然后插入 $0$,则将这两个元素都弹出,否则,插入栈顶. 求:$n$ 次操作后栈中期望的元素个数. 我们发现,按照上述弹栈方式进行,栈中元素一定是由若干个连续 $0$ 加上若干个连续 $1$ 组成. 而 $1$ 所在的联通块还 阅读全文
posted @ 2019-11-05 16:09 EM-LGH 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 有两个性质需要知道: $1.$ 对于任意的 $f[i]=f[i-1]+f[i-2]$ 的数列,都有 $f[i]=fib[i-2]\times f[1]+fib[i-1]\times f[2]$ 其中 $fib[i]$ 为第 $i$ 项斐波那契数列. $2$. 对于任意满足上述条件的数列,都有 $\s 阅读全文
posted @ 2019-11-05 14:49 EM-LGH 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 有一棵树,共有 $N$ 个节点,他会使用下列 $DFS$ 算法对该树进行遍历: starting_time是一个容量为n的数组current_time = 0dfs(v): current_time =current_time+1 starting_time[v] = current_time 将c 阅读全文
posted @ 2019-11-04 20:58 EM-LGH 阅读(113) 评论(0) 推荐(0) 编辑
上一页 1 ··· 39 40 41 42 43 44 45 46 47 ··· 120 下一页