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. NYOJ 93 汉诺塔 (数学)

    题目链接 描述 在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针.印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片 ...

  2. attachEvent 中this指向

    IE中使用的事件绑定函数与Web标准的不同,而且this指向也不一样,Web标签中的this指向与传统事件绑定中的this一样,是当前目标,但是IE中事件绑定函数中this指向,通过使用call或ap ...

  3. sniffer简单使用

    跟wireshark类似. 只是说显示的容易忘记所以丢张图记录一下. 该工具还是很坑爹的,不是比赛要用到所以都不是很想弄.一般机器运行不起来.不是蓝屏就是装了运行不了各种闪退,找了学校一台内网服务器才 ...

  4. webgote的例子(2)Sql注入(SearchGET)

    Sql注入(Search/GET) 大家好!!! 现如今web服务在我们的网络上遍地都是,各个终端设备成为我们看不见的客户,web服务也成为公司的招牌.80 443为我们展现的视角也是多姿多彩但背后新 ...

  5. Workqueue机制的实现

    Workqueue机制中定义了两个重要的数据结构,分析如下: cpu_workqueue_struct结构.该结构将CPU和内核线程进行了绑定.在创建workqueue的过程中,Linux根据当前系统 ...

  6. NEERC2012

    NEERC2012 A - Addictive Bubbles 题目描述:有一个\(n \times m\)的棋盘,还有不同颜色的棋子若干个,每次可以消去一个同种颜色的联通块,得到的分数为联通块中的棋 ...

  7. JavaScript 跳转 页面

    * window.location.href , self.location, window.location 出现问题不能跳转 Chome 不能本页跳转, IE 有时可以

  8. 详细介绍Linux finger命令的使用

    Linux 允许多个用户使用不同的终端同时登陆,Linux finger命令为系统管理员提供知道某个时候到底有多少用户在使用这台Linux主机的方法,对于这个简单的命令我们还是先介绍一下再举例吧. L ...

  9. 中高级JAVA面试知识点(个人整理)

    JVM运行时数据区域 方法区: 用 于存储虚拟机加载的类信息,常量,静态变量,JIT编译后的代码,所有线程共享 堆:所有线程共享,用来存储实例对象. 虚拟机栈:线程私有,生命周期与线程相同,每个方法被 ...

  10. RSA加密登录

    1.首先下载前端JS加密框架:jsencrypt 2.后台添加解密帮助类:RSACrypto(参考文章最后) 3.在登录页面先引入jquery.min.js,在引入jsencrypt.min.js 4 ...