一个数大约有 $O(\sqrt(n)/log^2(n))$ 个约数。

1. 一个棋盘,每个格子最开始都是白的。可以按一个格子,它马跳(日字跳)能到达的 $8$ 个格子反色(当前格不反色)。问有多少种方案使棋盘全部变黑。$n,m\le 200$。

先考虑翻转十字(上下左右四格)只有一排的做法:按 $2$ 个空 $2$ 个。

模 $4$ 余 $0$ 有一种方案(第一个和最后一个不选),余 $1$ 没有方案(有一端格子一定翻不了),余 $2$ 有 $1$ 种方案,余 $3$ 有 $2$ 种方案。

一通尝试后,发现这很像某道扫雷题(本篇T1)。

朴素暴力等于枚举左上角 $1*1$ 的情况……但很显然,这样有两个不确定的格子能影响左上角那一个格子的结果,因此就是龟速暴力了。

而 $2*2$ 的格子中,右上角和左下角那个格子都只被一个不确定的格子影响。这样就能能先确定第一行。然后由于只能在第二行用十字影响第一行的一个格子,因此反过来想,为了让第一行都变黑,第一行也就能唯一确定第二行。列同理。

其实枚举左上角 $2*2$ 的情况,整个棋盘就确定下来了。可以延续上面的思路证明。

由于左上角 $2*2$ 能确定前两行,把棋盘翻转过来想,它就能确定前两列。所以每一行前 $2$ 个都确定了,后面也全都确定了。

马字的话,观察它影响范围的一个角的部分,发现只要枚举左上角 $3*3$ 的情况就可以了。

2. 给你一些节点的度数,问你有多少种 $n$ 棵节点的无根树。均为无向边。

3. 给你一棵 $n$ 个点的树和无向图,现在请你给树编号,使它是无向图的一棵生成树。求总方案数。

树上dp+状态压缩

$f(i,j,s)$ 表示 $i$ 的父亲是 $j$,没有编号的点集是$s$。

4. $n(\le 50)$ 个篮子,$m(m\le 50)$ 种水果,$a_{i,j}\le 50$ 表示第 $i$ 个篮子中第 $j$ 种水果的数量。

现在有两种随机操作:

1.等概率选篮子子集;

2.混合后等概率选一个水果。

问每种水果的占比率。

第 $i$ 种水果的概率:

5. $n*n$ 的图形,挖掉若干个矩阵,使每行每列只能有一段连续挖掉的地方。求总方案数。

肯定是中间挖掉一块,且上、下端是单峰的。

所以 $f(i,j,k,x,y)$ 表示第 $i$ 列的上端为第 $j$ 行,下端为第 $k$ 行,$x,y$ 分别表示上、下端在上升还是下降/下降还是上升。

然后发现每次转移是 $n^2$ 的($j,k$两重枚举),时间爆了。比如:

$f(i,j,k,0,0) \space=\space \sum_{j'\le j}\sum_{k'\le k} f(i-1,j',k',0,0) \space+\space \space \sum_{j'\le j}\sum_{k'\gt k} f(i-1,j',k',0,1)$

发现是俩$sigma$套了起来,二维前缀和优化即可。

【2018.10.27】CXM笔记的更多相关文章

  1. 2018.10.27 bzoj1984: 月下“毛景树”(树链剖分)

    传送门 唉蒟蒻又退化了,这道sb题居然做了20min,最后发现是updcovupdcovupdcov写成了updaddupdaddupdadd我还能说什么233233233 就是让你转边权为点权之后, ...

  2. 2018.10.27 codeforces402D. Upgrading Array(数论+贪心)

    传送门 唉我觉得这题数据范围1e5都能做啊... 居然只出了2000 考完听zxyzxyzxy说我的贪心可以卡但过了? 可能今天本来是0+10+00+10+00+10+0只是运气好T1T1T1骗了10 ...

  3. 2018.10.27 bzoj3209: 花神的数论题(数位dp)

    传送门 数位dpdpdp经典题. 题面已经暗示了我们按照二进制位来数位dpdpdp. 直接dpdpdp多少个数有111个111,222个111,333个111-, 然后快速幂算就行了. 于是我们枚举前 ...

  4. 2018.10.27 洛谷P2915奶牛混合起来Mixed Up Cows(状压dp)

    传送门 状压dp入门题. 按照题意建一个图. 要求的就是合法的链的总数. 直接f[i][j]f[i][j]f[i][j]表示当前状态为jjj,下一位要跟iii连起来的方案数. 然后从没被选并且跟iii ...

  5. 2018.10.27 loj#2292. 「THUSC 2016」成绩单(区间dp)

    传送门 g[i][j][k][l]g[i][j][k][l]g[i][j][k][l]表示将区间l,rl,rl,r变成最小值等于kkk,最大值等于lll时的花费的最优值. f[i][j]f[i][j] ...

  6. 2018.10.27 loj#6035. 「雅礼集训 2017 Day4」洗衣服(贪心+堆)

    传送门 显然的贪心题啊...考试没调出来10pts滚了妙的一啊 直接分别用堆贪心出洗完第iii件衣服需要的最少时间和晾完第iii件衣服需要的最少时间. 我们设第一个算出来的数组是aaa,第二个是bbb ...

  7. POI 2018.10.27

    [POI2015]LOG 维护一个长度为n的序列,一开始都是0,支持以下两种操作:1.U k a 将序列中第k个数修改为a.2.Z c s 在这个序列上,每次选出c个正数,并将它们都减去1,询问能否进 ...

  8. math(2018.10.27)

    20%的数据直接暴搜就行,接下来我们考虑哪些数不能够出现在同一个集合中,就连一 条边,我们会发现前

  9. physics(2018.10.27)

    这道题可以推出\(O(1)\)的算法,但是实际上暴力模拟就可以过了. 代码(暴力模拟): #include<cstdio> #include<algorithm> #inclu ...

随机推荐

  1. pyhton中的__new__和__init__

    首先__new__() 函数只能用于从object继承的新式类:其次,object将__new__()方法定义为静态方法,并且至少需要传递一个参数cls,cls表示需要实例化的类,此参数在实例化时由P ...

  2. 解决android studio设置版本号

    获取版本号代码 /** * 获取版本号 * @return 当前应用的版本号 */ public static String getVersion(Context context) { try { P ...

  3. JS 、JQ 获取宽高总结 & JS中getBoundingClientRect的作用及兼容方案

    1.getBoundingClientRect的作用 getBoundingClientRect用于获取某个html元素相对于视窗的位置集合.   执行 object.getBoundingClien ...

  4. 自动发表QQ空间说说

    require("gb2312toutf8") local http = require "socket.http" local surl = "ht ...

  5. caffe实现多label输入(修改源码版)

    http://blog.csdn.net/u013010889/article/details/54614067 这个人的博客本身也相当好

  6. Catalan 数

    概要 在一些面试的智力题中会遇到此数的变形,如果完全不了解,直接想结果是很困难的,故在此简单介绍一下.   基本定义 Catalan 数的定义根据不同的应用环境有很多不同的定义方式,下面给出一个.   ...

  7. js正则函数match、exec、test、search、replace、split使用集合

    match 方法 使用正则表达式模式对字符串执行查找,并将包含查找的结果作为数组返回. stringObj.match(rgExp) 参数 stringObj 必选项.对其进行查找的 String 对 ...

  8. 获取 request 中 json 数据

    import java.io.IOException; import javax.servlet.http.HttpServletRequest; /** * request 对象的相关操作 * @a ...

  9. HTML5基础知识习题 一

    1. HTML5 之前的 HTML 版本是什么? 答: HTML 4.01 2. HTML5 的正确 doctype 是? 答: <!DOCTYPE html> 3. 在 HTML5 中, ...

  10. JS与IOS、安卓的交互

    最近做的项目中涉及到了与安卓和ios的交互问题,对于一个新手来说,多多少少会有点迷糊.在调用安卓和ios的callback回调时,很轻松的就调用成功了,而且,步骤也不那么繁琐.刚开始,只知道那样使用可 ...