共 30 页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页
摘要:"传送门" 这个题好像 "bzoj4455:[Zjoi2016]小星星" 然后就可以类比那个思路将树形dp改为矩阵树定理,然后就做完了 代码: c++ include include include include using namespace std; void read(int &x) { c 阅读全文
posted @ 2019-05-03 15:17 蒟蒻--lichenxi 阅读 (19) 评论 (0) 编辑
摘要:"传送门" 考虑假如不考虑重复映射 那么显然可以得到一个$O(n^3)$的树形dp 然后考虑如何去掉不合法的情况? 容斥,考虑每次只能从一个点集$S$里选点(也就是至多$|S|$个点的映射的方案数) 那么显然就可以枚举点集$S$,做树形dp,然后容斥一下就做完了 总复杂度:$O(2^nn^3)$ 代 阅读全文
posted @ 2019-05-01 16:35 蒟蒻--lichenxi 阅读 (23) 评论 (0) 编辑
摘要:"传送门" 感觉这个题是真的神仙啊,思路是真的难想 首先设$f(i)$为$i$个点的无向连通图个数,然后设$g(i)$为$i$个点的图的个数(注意,此处不一定联通) 那么我们考虑枚举$1$号点所在的联通块的大小 显然有 $$ g(n)=\sum_{i=1}^nf(i)\binom{n 1}{i 1} 阅读全文
posted @ 2019-04-25 13:31 蒟蒻--lichenxi 阅读 (24) 评论 (0) 编辑
摘要:"传送门" 首先我们需要知道第二类斯特林数的通项公式 $$ S(n,m)=\frac{1}{m!}\sum_{k=0}^{m}( 1)^k\binom{m}{k}(m k)^n $$ 然后我们就可以将题目给的式子里的第二类斯特林数拆开 $$ f(n)=\sum_{i=0}^{n}\sum_{j=0} 阅读全文
posted @ 2019-04-24 12:05 蒟蒻--lichenxi 阅读 (13) 评论 (0) 编辑
摘要:"传送门" ~~这里提供智障的$O(n^2)$做法~~ 其实是有$O(logn)$做法的,但是我太菜了想不出来 Solution: 首先可以发现生成的序列一定是一个两边向中间单调递减的序列 这样就可以发现我们的删除序列也是一个有两个单调递减的子序列的序列 然后我们就可以设$f[i][j]$为当前确定 阅读全文
posted @ 2019-04-23 18:26 蒟蒻--lichenxi 阅读 (20) 评论 (0) 编辑
摘要:"传送门" 这个是真的简单题,随便手玩一下就可以发现最优策略一定是给$1$加上自环 然后就可以dfs一下看哪些点子树里深度最深的点到当前点的距离会等于$k 1$,然后将当前点连向$1$(当然特判一下父亲节点是不是$1$),就好了 代码: c++ include include include inc 阅读全文
posted @ 2019-04-22 14:01 蒟蒻--lichenxi 阅读 (21) 评论 (0) 编辑
摘要:"传送门" 其实有一个显然的性质嘛:对于每个数,其实只要考虑它最右能被换到的位置就好了 然后设$f[i][j]$表示已经处理完了前$i 1$位,当前还有$j$个$1$可以自由支配(注意这里说的是当前可以自由支配,不是总共可以自由支配的$1$) 代码: c++ include include incl 阅读全文
posted @ 2019-04-22 11:17 蒟蒻--lichenxi 阅读 (21) 评论 (0) 编辑
摘要:"传送门" 这个题只要想到移动机器人和移动出口是等价的就好做了 考虑设$f[i][j][k][t]$为最远向左移动$i$,向右移动$j$,向上移动$k$,向下移动$t$,这个矩形内最多能救的机器人 转移就记录一个前缀和来辅助转移,这样复杂度就在能通过的范围内了 但是转移还是比较麻烦的,还需要考虑当前 阅读全文
posted @ 2019-04-20 17:39 蒟蒻--lichenxi 阅读 (26) 评论 (0) 编辑
摘要:"传送门" 智障爆搜题 可以发现题目给出的式子可以移项 然后就是$rev(N) N=D$ 然后假设$N=a_1 10^{n 1}+a_2 10^{n 2}+...+a_{n}$ 那么$rev(N)=a_n 10^{n 1}+a_{n 1} 10^{n 2}+...+a_{1}$ 就容易得到$\sum 阅读全文
posted @ 2019-04-20 12:58 蒟蒻--lichenxi 阅读 (48) 评论 (0) 编辑
摘要:"传送门" 显然$a b$的情况下才有解 考虑先找出一个诚实的人,然后剩下的都可以在$n$次以内问出来了 发现如果一个人说另一个人是说谎的那么这两个人必有一个是说谎的,由于诚实的人严格多于不诚实的人,我们就可以把他们都丢掉 我们可以考虑维护一个栈,这样找出来的栈顶一定是诚实的人,总次数也在$2n$以 阅读全文
posted @ 2019-04-19 16:43 蒟蒻--lichenxi 阅读 (14) 评论 (0) 编辑
共 30 页: 上一页 1 2 3 4 5 6 7 8 9 下一页 末页