随笔分类 -  AAA-其他-杂题

摘要:首先要理解题意 题意是说Alice和Bob能投出他们想要的那一面的p和q,不是只能投出1... 也就是说他们可以根据场上情况来决策p/q的概率来投出1还是0 我们来倒着定义状态数组,逆推 $f_i$表示场上还有i颗石子,在这一轮Alice先手赢的概率 $g_i$表示场上还有i颗石子,在这一轮Alic 阅读全文
posted @ 2017-10-29 20:48 A_LEAF 阅读(240) 评论(0) 推荐(0)
摘要:$ f_{x,j} $ 表示以x为根的子树 x这个点在子树里的排名为j的方案总数 考虑x和儿子的合并 转移时要开一个临时的数组 $ t[] $ 来临时存一下数据 当儿子在x后面时 $$ t_{j+k}=\sum_{j=1}^{size[x]}\sum_{k=0}^{size[son]}C_{j+k- 阅读全文
posted @ 2017-10-28 21:04 A_LEAF 阅读(570) 评论(0) 推荐(0)
摘要:$f_{i} 到第i位最少的花费 $ $n^2dp$ 很容易想 考虑优化 首先把权值从大到小排序,把pos压进set里 处理出每一个位置 i 前面第一个大于等于v[i]的位置 $$ f_{i}=min( f_{k}+max(v[l])(l+1<=k<=i) ) $$ 用线段树优化 但是你并不知道v[ 阅读全文
posted @ 2017-10-26 16:58 A_LEAF 阅读(276) 评论(0) 推荐(1)
摘要:这个题以前一直没弄明白... 相当于有$2^n-1$个点,$2^n$条边 然后求欧拉回路 可以dfs也可以迭代 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define mem(a,b) mem 阅读全文
posted @ 2017-10-25 11:45 A_LEAF 阅读(211) 评论(0) 推荐(0)
摘要:我定义的状态数组存的是概率,而且是正推 达哥存的是期望,还逆推,然后我就懵比了 $f_{i,j,k}$ 第i关 j条命 连胜k次 $$f_{i+1,min(j+1,Q),min(k+1,R)}+=f_{i,j,k}*p$$ $$f_{i+1,j-1,0}+=f{i,j,k}*(1.0-p)$$ $$ 阅读全文
posted @ 2017-10-24 21:19 A_LEAF 阅读(182) 评论(0) 推荐(0)
摘要:枚举次小值,找出左右两边第一个、第二个比它大的地方 找的话有两种方法 (1) $O(logn)$ 将权值从大到小排序,一个一个加入,用set来维护 (2) $O(log^2n)$ 二分位置 用线段树/RMQ来$O(logn)$求出区间最大值 求取区间异或的最大值 可以在可持久化0/1trie上贪心行 阅读全文
posted @ 2017-10-24 18:48 A_LEAF 阅读(109) 评论(0) 推荐(0)
摘要:可能是一个思维题,首先是状压 将大陆分成两部分,一部分是原来的,一部分是最后的 将最后的大陆面积取负数 sum(i)表示i这个状态的总和,sum(i)==0表明他们的和相等 然后如果直接暴力和起来,再暴力分开,那么总的是n+m-2 发现一个规律不,两个集合中和相等的子集个数*2,是n+m要减的 那么 阅读全文
posted @ 2017-10-20 18:35 A_LEAF 阅读(142) 评论(0) 推荐(0)
摘要:其实这题很简单,只是dp难想 $f_{i,j}$ 前i座山脉,第i座山脉是第j小,且i-1座山脉比第i座高,即第i座山脉是山谷 $g_{i,j}$ 第i座是山峰 值得注意的是,j表明第j小,也就是说前i座山脉不一定只有[1,i]的山脉 dp方程: $$ f_{i,j}=\sum_{k=j}^{i-1 阅读全文
posted @ 2017-10-17 06:24 A_LEAF 阅读(112) 评论(0) 推荐(0)
摘要:我想的容斥和题解不太一样 我也是想先在n个里确定K个 然后设 $$f_i=C_n^i*\sum_{p=0}^{n-i} $$ $$ ans=f_K-f_{K+1}+f_{K+2}... $$ 然而这个并不对,3 2 的样例 算$f_k$的时候就已经是6了 正解: $$ ans=C_n^K*( C_{ 阅读全文
posted @ 2017-10-16 07:55 A_LEAF 阅读(380) 评论(0) 推荐(0)
摘要:我是打表发现的规律 f[i]=f[i-1]*(i&1)*(-1)^i 其实这是一个错排计数 $$ f_0=0,f_1=1 $$ $$ f_i=(i-1)*(f_{i-1}+f_{i-2}) $$ #include <cstdio> #include <cstring> #include <cstdl 阅读全文
posted @ 2017-10-15 21:23 A_LEAF 阅读(186) 评论(0) 推荐(0)
摘要:这题我最大的收获是不要轻易相信网上的blog的题解... 环上dp 应该是两维,不能一维 (一下午的崩溃啊) 先求出环上每个点选和不选的最大值 再枚举环上那个点选不选(枚举相邻两个就行) 进行dp /* 我现在只想日死那个一维f[]的人 环上dp需要f[N][2]... */ #include <c 阅读全文
posted @ 2017-10-15 19:06 A_LEAF 阅读(180) 评论(0) 推荐(0)
摘要:题意:求切比雪夫距离 直接求不好求,可以转化成曼哈顿距离 切比雪夫: $$ d=max( | x_1-x_2 | , | y_1-y_2 | ) $$ 曼哈顿距离: $$ d=| x_1-x_2 | + | y_1-y_2 |$$ $$ d=max( x_1-x_2+y_1-y_2,x_1-x_2+ 阅读全文
posted @ 2017-10-15 07:24 A_LEAF 阅读(415) 评论(0) 推荐(0)