2018.11.21:

1、[BZOJ 4868][SHOI 2017]

从后往前枚举最后位置即可,如果$A<B$,用尽可能多的$A$替换$B$操作

Tip:很大的$C$可能爆$longlong$,注意特判掉与$C$相乘超过上限的数!

2、[BZOJ 4872][SHOI 2017]

首先每个灯最多按一次,接下来发现正确按取集合唯一,只不过顺序任意

设$dp[i]$表示从正确按取$i$个到$i-1$个的期望次数,则有:

$dp[i]=\frac{i}{n}+\frac{n-i}{n}*(dp[i]+dp[i+1]+1)$,$res=\sum_{i=k+1}^{cnt} dp[i]$

Tip:注意最后答案加上$k$!

3、[BZOJ 4869][SHOI 2017]

EXT欧拉定理套路(题解传送门

4、[BZOJ 4870][SHOI 2017]

矩阵快速幂(题解传送门

2018.11.22:

1、[AGC 004F]

又是$Atcoder$的思维神题……(题解传送门

2、[BZOJ 2326][P 3216]

递推式:$dp[i]=dp[i-1]*10^{dgt}+i$

$dgt$相同时明显可以上带常数项的矩阵快速幂,然后再根据$dgt$分个段就行了

Tip:看$hzwer$程序学了下慢速乘,就是为了防止爆$longlong$用快速幂的方式做乘法

3、[BZOJ 1560][P 4056]

这种题一般都能先推出一个性质:

由于无负权,$a-b-c$一定比$a-c$优

这样就能每次只从每列最下面转移,复杂度$O(n*m)$

不过如果将式子列出来发现是能$O(m*m)$斜率优化转移的:

$dp[i]=dp[j]-rowdist_j-(i-j)^2+w$,维护个上凸壳就行了

4、[BZOJ 1597][P 2900]

先将矩形排序去掉完全包含的矩形

发现剩下的矩形必然是$x$递增,$y$递减的,从而方便$dp$:

$dp[i]=min{dp[j]+a[i]*b[j+1]}$

将$dp[j]=y,dp[i]=b,-a[i]=k,b[j+1]=x$就能维护下凸壳斜率优化了

5、[BZOJ 4011][P 3244]

在$DAG$上单独考虑每个点选哪条来边即可,就是$\prod in[i]$

加了一条边去掉含环的情况即可:钦定环,方案数就是$\frac{\prod in[i]}{\prod in[cir[i]]}$

拓扑序$dp$或$dfs$算环都行

6、[BZOJ 3612][P 4104]

首先模型转换为取$k$个$[-n,n]$内不同的数和为0的方案数

接下来用整数划分$dp$来计算仅考虑正数时的方案数:

这个都不会系列,传送门

$dp[i][j]=dp[i-j][j]+dp[i-j][j-1]$,(前者为不含1,后者为恰好仅含1个1)

一般此类$dp$都按是否含1来转移!由于数不同,因此仅含1个1时要先铺一层

同时为了保证每个数在范围内,在$i>n$时每次都要减去恰有一个数为$n+1$时的方案数

(之所以值考虑$n+1$是因为每次选的数最多加1)

最后按照是否选$0$分类统计答案即可

2018.11.23:

1、[BZOJ 3611][P 4103]

虚树裸题,一般此类询问多但限定了询问点总和的题目考虑虚树,只利用询问点及其$LCA$

由于$n$个点的$LCA$个数最多为$n-1$个,则能保证虚树的复杂度为$\sum n$

(由于$lca(a,b)!=lca(a,c)$则$lca(b,c)=lca(a,c)$,则可通过每次一个$lca$至少合并两个点来证明)

这样此题用栈维护右链建出虚树后直接树形$dp$就行了

2、[BZOJ 1096][P 2120]

预处理出前缀和,然后斜率优化$dp$即可

3、[BZOJ 2436][P 1973]

一般此类多次询问必须有一项选/不选时最值的题目 都要预处理前/后缀情况

此题先预处理出$pre[i][j],suf[i][j]$表示前/后$i$个时刻$A$选了$j$个时$B$最多选多少个

那么无限制下$res=max{min(i,pre[tot][i])}$

否则钦定一个包含$[x[i],y[i]]$的区间$[L,R]$都给$A$,再考虑两边的最优分配

设$f[L][R]$表示该区间最优解,枚举$A$在$[1,L]$中选了$k1$个,在$[R,tot]$中选了$k2$个

此时$f[L][R]=max{min(k1+k2+num[L][R],pre[L][k1]+suf[R][k2])}$

对于此类双变量最值先控制一个变量$k1$单调

发现在$k1$固定下的最优$k2$随$k1$增加而减少,从而利用该单调性做到$O(n^3)$算$f$

4、[BZOJ 1023][P 4244]

竟然还是第一次写仙人掌上$dp$……

对于仙人掌一般都是桥和环分别处理

设$f[i]$表示$i$向非父边方向延伸出的最长链,如果是桥则用$f[i]+f[to]+1$更新$res$

否则单独处理环:用$max(f[i]+f[j]+dist(i,j))$更新$res$(其中$dist$表示两点在环上的较短距离)

为了$O(n)$求最值,将环赋值一遍后用单调递减的单调栈维护$f[i]-i$

每次将距离超过一半的弹出,栈顶即使当前点的之前最优点

注意:

1、算完环后注意更新返回点的$f$值!

2、$tarjan$遇到已访问点用$dfn$而非$low$来更新!

5、[BZOJ 2002][P 2387]

$LCT$(题解传送门)

6、[BZOJ 3669][P 3203]

简化版$LCT$板子……

2018.11.23:

1、[BZOJ 2957][P 4198]

2018.11.26:

1、[BZOJ 3997][P 3203]

$Dilworth$定理+$dp$

2、[BZOJ 4871][SHOI2017]

大分类树形$dp$……

3、[AGC 006A]

4、[AGC 006B]

发现性质:有两个相邻的相同就能一直保持

因此构造$n-1,n$/$n,n+1$相同即可

2018.11.27:

1、[Codeforces 713C]

$codeforces$评论题解:传送门

2、[BZOJ 2743][P 4113]

3、[BZOJ 2809][P 1552]

4、[AGC 006C]

期望的线性性+置换

5、[AGC 006D]

2018.11.28:

1、[AGC 006E]

2、[AGC 006F]

3、[ARC 067C]

4、[ARC 067D]

5、[ARC 067E]

学了两天文化课……咕咕咕

2018.12.1:

1、[BZOJ 4873][SHOI2017]

最大权闭合子图

2018.12.2:

1、[P 2742]

练了下$Andrew$和$Graham$求凸包

2、[ZROI 503]

3、[ZROI 504]

4、[ZROI 505]

模拟赛题解见Contest Review

随机推荐

  1. Docker 配置国内镜像拉取中心,Configure docker to use faster registries in China.

    Networking in China is really bad when it comes to using some cloud based tools like docker, it's us ...

  2. spring-boot支持websocket

    spring-boot本身对websocket提供了很好的支持,可以直接原生支持sockjs和stomp协议.百度搜了一些中文文档,虽然也能实现websocket,但是并没有直接使用spring-bo ...

  3. ES6核心,值得驻足花一天时间来学习

    1.let 和 const 命令 在es5时,只有两种变量声明,var 和function.在es6中新增了四种let和const,以及另外两种声明import和class. 我们先讲解let和con ...

  4. 【leetcode 简单】 第七题 合并两个有序链表

    将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1->2- ...

  5. A .Gaby And Addition (Gym - 101466A + 字典树)

    题目链接:http://codeforces.com/gym/101466/problem/A 题目: 题意: 给你n个数,重定义两个数之间的加法不进位,求这些数中两个数相加的最大值和最小值. 思路: ...

  6. IP判断 (字符串处理)

    关于IP合法性判断的题目,每个oj上的约束条件不尽相同,我就根据自己做过的题目吧所有的约束条件汇总到一块,到时候做题时只需要把多余的越是条件删掉即可 题目描述: 对于IP我们总会有一定的规定,合法的I ...

  7. frameset测试

    frame不能放在body标签内.指定name属性,为这一个框架指定名字,在html的a的target属性可以设为target="right"在该框架显示跳转的页面.(常用于后台管 ...

  8. arch点击硬盘无法挂载

    出现问题如下 在使用xfce4桌面的时候在点击硬盘图标时可以挂载虽然要求你输入root密码 但是在使用openbox的时候点击硬盘图标却出现如下提示,权限的问题 Not authorized to p ...

  9. linux下C语言实现的内存池【转】

    转自:http://blog.chinaunix.net/uid-28458801-id-4254501.html 操作系统:ubuntu10.04 前言:     在通信过程中,无法知道将会接收到的 ...

  10. IO的学习与使用

    一.IO的学习方法:IO中包含了很多的类,推荐的学习方式是:“举一反三,掌握一种,以此类推”. 二.I/O操作的目标: 输入:从数据源(在数据源和程序之间建立的一个数据流淌的“管道”)中读取数据(文件 ...