首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
2018.11.07 hdu1465不容易系列之一(二项式反演)
】的更多相关文章
2018.11.07 hdu1465不容易系列之一(二项式反演)
传送门 其实标签只是搞笑的. 没那么难. 二项式反演只是杀鸡用牛刀而已. 这道题也只是让你n≤20n\le20n≤20的错排数而已. 还记得那个O(n)O(n)O(n)的递推式吗? 没错那个方法比我今天用的要快一些. 言归正传. 回忆一下二项式反演的式子: fn=∑i=0n(ni)gif_n=\sum_{i=0}^n\binom{n}{i}g_ifn=∑i=0n(in)gi =>gn=∑i=0n((−1)i(nn−i)fi)g_n=\sum_{i=0}^n((-1)^i\binom{n}…
2018.11.07 NOIP模拟 数独(模拟)
传送门 sbsbsb签到题. 读题时间比写题时间长系列. 写一个checkcheckcheck函数来检验当前时间段第(i,j)(i,j)(i,j)号格子能否放入kkk就行了. 代码…
Unity进阶----AssetBundle_03(2018/11/07)
1. 为啥有AB包? 因为资源需要更新, 避免更新一次打包一次 动态修改. 2. AB包注意啥? 依赖关系 找依赖关系应该找到对应的平台!!! 3. 打包策略是分场景打包 若文件被文件夹包含打包出来的就是文件夹的名字 否则是场景文件夹名称 4. 当我AB包从硬盘加载完成之后 是不是就该加载到内存 并实例化了? 带有缓存的ab加载机制 5.脚本不允许出现在打包目录的 dll 6.知道加载的过程 说出来! 这个很重要(依赖加载必须会). 知道框架的基本作用 以后会拿出来用或修改 7. Lua: Lu…
2018.11.07 NOIP训练 L的鞋子(权值分块+莫队)
传送门 乱搞题. 我直接对权值分块+莫队水过了. 不过调了30min30min30min发现ststst表挂了是真的不想说什么233. 代码…
2018.11.07 bzoj1965: [Ahoi2005]SHUFFLE 洗牌(快速幂+exgcd)
传送门 发现自己的程序跑得好慢啊233. 管他的反正AC了 先手玩样例找了一波规律发现题目要求的就是a∗2m≡l(modn+1)a*2^m\equiv l \pmod {n+1}a∗2m≡l(modn+1) 然后脑补了一波sbsbsb数学证明. 假设当前牌aaa在第ppp个位置(为了方便假设在左半边,右半边的差不多). 然后在这一次洗牌之后会有2∗(p−1)+1=2∗p−12*(p-1)+1=2*p-12∗(p−1)+1=2∗p−1张牌在它的前面. 于是它移到了第2∗p2*p2∗p个位置. 证毕…
2018.11.07 bzoj2751: [HAOI2012]容易题(easy)(组合数学)
传送门 组合数学一眼题. 感觉一直做这种题智商会降低. 利用组合数学的分步计数原理. 只用关心每个数不被限制的取值的总和然后乘起来就可以了. 对于大部分数都不会被限制,总和都是n(n+1)2\frac{n(n+1)}{2}2n(n+1). 这部分数的贡献直接用快速幂算. 剩下最多只有1e51e51e5个数. 直接暴力算出每个数不被限制的取值的总和. 代码: #include<bits/stdc++.h> #include<tr1/unordered_map> using name…
2018.11.07 NOIP训练 lzy的游戏(01背包)
传送门 考虑对于每次最后全部选完之后剩下的牌的集合都对应着一种构造方法. 一个更接地气的说法: 设消耗的牌数为ttt,如果使用的牌的lll值之和也为ttt,则对应着一种构造方式让这种情形成立. 于是做01背包就可以了. 代码…
2018.11.07 NOIP模拟 异或(数位dp)
传送门 对于每个二进制位单独考虑贡献. 然后对于两种情况分别统计. 对于第二种要用类似数位dpdpdp的方法来计算贡献. 代码…
2018.11.07 NOIP模拟 分糖果(贪心)
传送门 考虑 n = 2 时的情况:假定两个人分别为(a, b),(c, d),则当且仅当min(a,d) ≤ min(b,c)时,把(a, b)放在前面更优,否则把(c, d)放在前面更优 然后把n = 2 的结论进行扩展.我们定义第 i 个小朋友比第 j 个小朋友小,当且仅当 min(ai,bj) <min(aj,bi),以这个规则进行排序,时间复杂度 O(nlogn). 这样得到的新队伍一定是满足题目要求的最优解之一,当然还可能存在其它最优解. 代码…
2018.11.07 codeforces559C. Gerald and Giant Chess(dp+组合数学)
传送门 令f[i]f[i]f[i]表示对于第iii个棋子,从(1,1)(1,1)(1,1)出发到它不经过其它棋子的方案数. 于是我们假设(h,w)(h,w)(h,w)有一个棋子,求出它的fff值就可以了. 然后考虑容斥转移fff数组. 根据定义,我们求出从(1,1)(1,1)(1,1)出发到它的总方案数,再减去经过了其它棋子的方案数. 然后再考虑如何才会补充不漏. 发现从之前每一个fff转移过来就行了. fi=(xi+yi−2xi−1)−∑fj∗(xi−yi+xj−yjxi−xj)f_i=\bi…