题意:定义函数\(f(A,B) = \sum_{i=1}^n \max(A_i,B_i)\),其中\(A\)和\(B\)都是长度为\(n\)的排列.给出\(n\)和\(k\),问有多少对\((A,B)\)满足\(f(A,B)\geq k\).对\(10^9 + 7\)取模. \(n \leq 50\) 首先,可以直接钦定\(A\)为\(1,2...n\)的一个排列,即对于所有\(i\)满足\(A_i = i\),最后答案再乘以\(n!\). 然后就变成了对\(B\)这一个排列的计数问题.考虑函数…
原文链接 https://www.cnblogs.com/cly-none/p/9794411.html \[ \newcommand{\stif}[2]{\left[ \begin{matrix} #1 \\ #2 \end{matrix} \right]} \newcommand{\stis}[2]{\left\{ \begin{matrix} #1 \\ #2 \end{matrix} \right\}} \newcommand{\comb}[2]{\left( \begin{matrix…
原文链接 https://www.cnblogs.com/cly-none/p/ZJOI2017cactus.html 给出一个\(n\)个点\(m\)条边的无向连通图,求有多少种加边方案,使得加完后得到一个仙人掌. \(n \leq 5 \times 10^5, \ m \leq 10^6\) 首先,判定无解后,我们可以把每个环删掉,那么答案就是剩下的若干树的加边方案的乘积. 于是就考虑一棵树怎么做. sol1 令\(dp_i\)表示在结点\(i\)的子树中的答案.考虑如何转移. 注意到,假如…
原文链接 https://www.cnblogs.com/cly-none/p/ECFINAL2018J.html 题意:给出一个长度为\(n\)的字符串\(s\),要求给\(s\)的每个后缀\(s[i:]\)分配权值\(k_i\)(实数),满足\(0 \leq k_i \leq 1\),且\(\sum_i k_i = 1\).再此基础上,最大化 \[ \min_{i=1}^n \left( \sum_{j=1}^n k_j {\rm {lcp}} (s[i:],s[j:]) \right) \…
题意:求所有长度为\(n\)的排列\(p\)中,有多少个满足:对于所有\(i \,(1 \leq i \leq n)\),其中恰好有\(k\)个满足\(|p_i - i| = 1\).答案对\(10^9 + 7\)取模. \(n \leq 10^3\) 首先,让我们考虑这个类似反演的结论: 对于\(F(n)\)和\(f(n)\),则满足 \[F(n) = \sum_{k \geq n}{{k}\choose{n}}f(k) \iff f(n) = \sum_{k \geq n}(-1)^{k-n…
火题大战Vol.0 B 题目描述 \(n\) 个沙茶,被编号 \(1\)~$ n$.排完队之后,每个沙茶希望,自己的相邻的两人只要无一个人的编号和自己的编号相差为 \(1\)(\(+1\) 或\(-1\))就行: 现在想知道,存在多少方案满足沙茶们如此不苛刻的条件. 输入格式 只有一行且为用空格隔开的一个正整数 \(N\). 输出格式 一个非负整数,表示方案数对 \(7777777\) 取模. 样例 样例输入 4 样例输出 2 样例解释 有两种方案 \(2\ 4\ 1\ 3\) 和 \(3\ 1…
标 * 的是推荐阅读的部分 / 做的题目. 1. 动态 DP(DDP)算法简介 动态动态规划. 以 P4719 为例讲一讲 ddp: 1.1. 树剖解法 如果没有修改操作,那么可以设计出 DP 方案 \(f_{i,0/1}\) 分别表示不选(\(0\))/ 选(\(1\))点 \(i\) 的最大权值,那么有 \(f_{i,0}=\sum_{x\in S_i}\max(f_{x,0},f_{x,1}),f_{i,1}=v_i+\sum_{x\in S_i}f_{i,0}\). 如果加上修改操作,那…
Online Judge:Hdu5155 Label:思维题+容斥,计数Dp 题面: 题目描述 给定一个大小为\(N*M\)的神奇盒子,里面每行每列都至少有一个钻石,问可行的排列方案数.由于答案较大,输出对\(1e9+7\)取模后的结果. 输入 多组数据.每组数据读入两个整数\(N,M\) \(0≤N,M≤50\) 输出 每组数据输出一行表示答案. 样例 Input 1 1 2 2 2 3 Output 1 7 25 Hint There are 7 possible arrangements…
里面会有一些数据结构优化 DP 的题目(如 XI.),以及普通 DP. *I. P3643 [APIO2016]划艇 题意简述:给出序列 \(a_i,b_i\),求出有多少序列 \(c_i\) 满足 \(c_i=-1\) 或 \(c_i\in[a_i,b_i]\),同时非 \(-1\) 的部分单调递增. 直到做到这题我才意识到我的 DP 水平有多菜. 注意到值域过大,于是对区间进行离散化,设离散化后的端点分别为 \(p_1,p_2,\cdots,p_c\).注意要将 \([a_i,b_i]\)…
赛前做题时忽然发现自己概率博弈类dp很弱,心好慌.(获胜概率或最优解期望) 于是就做了这道题,续了特别久. 一开始列dp式子的时候就花了很长时间,首先搞错了两次,然后忘记了根据上一轮dp值直接确定选什么最优,乱列了4个不等式看得自己一脸懵逼. 然而确定了选什么最优,我们就可以用无限级数计算出当前这一个石头由自己取出的概率,然后就可以直接转移了. 网上题解表示答案是收敛的.我也不知道为什么.(原以为要用必胜策略优化dp) #include <bits/stdc++.h> using namesp…
[CodePlus2017]可做题 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 87  Solved: 63[Submit][Status][Discuss] Description qmqmqm希望给sublinekelzrip出一道可做题.于是他想到了这么一道题目:给一个长度为n的非负整数序列ai,你需 要计算其异或前缀和bi,满足条件b1=a1,bi=bi?1 xor ai(i≥2).但是由于数据生成器出现了问题,他生成的序列a 的长度特…
[洛谷P1704] 寻找最优美做题曲线 题目背景 nodgd是一个喜欢写程序的同学,前不久(好像还是有点久了)洛谷OJ横空出世,nodgd同学当然第一时间来到洛谷OJ刷题.于是发生了一系列有趣的事情,他就打算用这些事情来出题恶心大家-- 题目描述 洛谷OJ刷题有个有趣的评测功能,就是系统自动绘制出用户的"做题曲线".所谓做题曲线就是一条曲线,或者说是折线,是这样定义的:假设某用户在第b[i]天AC了c[i]道题,并且b[i]严格递增,那么该用户的做题曲线就是平面上点(i,c[i])依次…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502-500.html SRM502 Div1 500 好题. 首先,如果已经确定了解决所有问题的优先级,只需要对于每一个问题是否被解决做出决策,那么显然直接 01 背包就好了. 事实上,我们是可以贪心地确定两个问题的优先程度的. 对于两个问题,假设分别为 a 和 b,则先做 a 再紧接着做 b 和先做 b 再紧接着做 a 的收益之差为 \[ \begin{eqnarray*} &&(-dec_a…
分析:首先定义状态dp[i][j][s1][s2]代表前i个物品中,选若干个物品,总价值为j 其中s1个物品时必选,s2物品必不选的方案数 那么转移的时候可以考虑,第i个物品是可选可可不选的 dp[i][j][s1][s2]+=dp[i-1][j][s1][s2]+dp[i-1][j-a[i]][s1][s2] 或者第i个物品必选,或者必不选 dp[i][j][s1][s2]+=dp[i-1][j-a[i]][s1-1][s2]+dp[i-1][j][s1][s2-1] 一点感想:这个题边界时d…
其实说实在 我在写这篇博客的时候 才刚刚草了一道这样类型的题 之前几乎没有接触过 接触过也是平时比赛的 没有系统的做过 可以说0基础 我所理解的计数dp就是想办法去达到它要的目的 而且一定要非常劲非常快 都是一个很小的数然后有很多种接下来的方案使得这个数一下子变很大 计数DP常用的有:组合和排列 然后要抽象的想 还有容斥定理(这的话经常考而且很难几乎不会做) 还有用前缀之类的进行优化转移 找到规律就可以搞了 慢慢给出例题慢慢说慢慢学 因为这个要不全AC要不全WA [JLOI2013]地形生成 计…
[T1] [简要题意]   长度为N的括号序列,随机确定括号的方向:对于一个已确定的序列,每次消除相邻的左右括号(右左不行),消除后可以进一步合并和消除直到不能消为止.求剩下的括号的期望.\(N \leq 2000\),保留三位小数. [做题过程]   看上去一道傻逼题,又让我涨姿势了.   直接按长度DP咯?仔细一想,要记录一直延续至今的待消左括号个数,所以起码是二维.所以就是 \(F_{i,j}\) 表示处理了前i个点,目前有j个待消的左括号.写了一半我才发现一个问题, $F_{i,j} $…
SDOI2016 R1做题笔记 经过很久很久的时间,shzr终于做完了SDOI2016一轮的题目. 其实没想到竟然是2016年的题目先做完,因为14年的六个题很早就做了四个了,但是后两个有点开不动... 那么就顺着开始说: 储能表:https://lydsy.com/JudgeOnline/problem.php?id=4513 题意概述:给定一张大表格,i行j列的数是 $i$ $xor$ $j$,多组询问,求 $\sum_{i=0}^{n-1}\sum_{j=0}^{m-1}max((i \b…
终于做完了…… 场上预计得分:?(省一分数线:295) 由于看过部分题解所以没有预计得分qwq 题解: D1T1 小凯的疑惑 题面 震惊!一道小学奥数题竟难倒无数高中考生! 欢迎大家以各种姿势*和谐*出题人 证明见这篇博客 #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #…
感觉从15年开始noip就变难了?(虽然自己都做出来了……) 场上预计得分:100+100+60~100+100+100+100=560~600(省一分数线365) 题解: D1T1 神奇的幻方 题面 水题送温暖~ #include<algorithm> #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #defi…
POI2011 Conspiracy (2-SAT) Description \(n\leq 5000\) Solution 发现可拆点然后使用2-SAT做,由于特殊的关系,可以证明每次只能交换两个集合中的一个元素,或者改变一个元素的位置,然后分类讨论即可. 注意特判集合为空的情况. POI2011 Lollipop (YY) Description \(n,m\leq 1000000,q\leq 2000000\) Solution 挖掘题目性质,由于只存在1,2.所以对于一个端点为1的线段,…
NOIP以前可能会持续更新 写在前面 NOIP好像马上就要到了,感觉在校内训练里面经常被虐有一种要滚粗的感觉(雾.不管是普及组还是提高组,我都参加了好几年了,结果一个省一都没有,今年如果还没有的话感觉就真的要滚大粗退役回去念书了QAQ.于是有了压力就来刷(水水水)题.感觉校内OJ的题库还挺多的就开始做校内OJ的题.(本校的其他神犇都在其他各种OJ上屠丧题我感觉好虚啊!)于是把这几年NOIP的原题拿出来做了下. (我蛮立个flag:如果NOIP过了就买BZOJ权限号...) 历年NOIP提高组一句…
!!!学长做过的题 正解:计数dp 解题报告: 传送门 首先思考,这题和普通的走台阶有什么区别嘛(跳格子其实和走台阶都一样的嘛quq因为走台阶比较经典所以就说的走台阶) 那显然最大的区别就是它有限制 umm,,,有点废话? 这个限制相当于你可以理解成,我现在可以走两次,都是从头走到尾(本来是从头到尾再走回头嘛但反过来显然一样,懒得解释辽你不傻趴 但是第二次走的得是第一次走的子集 于是先考虑第二次怎么走,就只要算包含这个元素的集合有多少个,就是第一次走这段路所有可行方案的总和了 然后关于包含这个元…
SAM 感性瞎扯. 这里是 SAM 做题笔记. 本来是在一篇随笔里面,然后 Latex 太多加载不过来就分成了两篇. 标 * 的是推荐一做的题目. trick 是我总结的技巧. I. P3804 [模板]后缀自动机 (SAM) 题意简述:求一个字符串 \(s\) 的所有子串长度乘上其出现次数的最大值. 代码还没写过,到时候来补一下. update:尝试只看自己的博客写出代码,然而失败了 >.< update:好家伙,第二次跳 \(p\) 的时候(即把 \((p_i,q)\) 变为 \((p_i…
Word Cut Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Status Practice CodeForces 176B Description Let's consider one interesting word game. In this game you should transform one word into another through specia…
写这篇博客的时候有点激动 为了让自己不颓 还是写写日记 存存模板 Nov.8 2016 今天早上买了两个蛋挞 吃了一个 然后就做数论(前天晚上还是想放弃数论 但是昨天被数论虐了 woc noip模拟赛出了道杜教筛) 然后白天就脑补了几道 积性函数 把例题过了一遍 Submit_Time 1696174 wohenshuai 2154 Accepted 245432 kb 10556 ms C++/Edit 1152 B 2016-11-08 16:50:10 1695614 wohenshuai…
题目链接[http://acm.hdu.edu.cn/showproblem.php?pid=4815] 简单说一下题意: 有n道题,每到题答对得分为a[ i ],假如A不输给B的最小概率是P,那么A最少要得到多少分. 解题过程: 假设有n道题,每个题有两个状态,胜或者败,假设达到某个分数m有k(计数DP)种方式,那么最后是这个分数的概率是k/pow(2,n).那么A不输给B的概率就是小于等于m的分数的概率和. #include<bits/stdc++.h> *; double dp[maxn…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-11-to-20.html UPD(2018-11-16): 改个标题再弃坑. 发现 EF 这种神仙题根本做不动,这次做题顺序我要改一改了…… 咕咕咕 AGC011F AGC012F AGC013D AGC013E AGC013F AGC014E AGC014F AGC015E AGC015F AGC017F AGC011 B 简单题. #include <…
原文链接https://www.cnblogs.com/zhouzhendong/p/AtCoder-Grand-Contest-from-1-to-10.html 考虑到博客内容较多,编辑不方便的情况,我决定把做题小记拆开写. 题解中的低级错误请指出,但是由于这里写的都是简要题解,所以具体细节就不要问我了. 咕咕咕 AGC009E 突然发现 AGC001F 怎么没做 AGC001 D 出现奇数的个数大于2时一定无解(构造图,从图的连通性方面考虑).然后,如果有奇数,把他们放到头尾,然后 b 数…
原文链接https://www.cnblogs.com/cly-none/p/9697662.html 题目当然不会做完了,这里只讲有做&会做的. A. Last chance 题意:有\(n\)个敌方飞船,己方有\(m\)个武器,有以下三种类型: 能攻击编号属于一个大小为\(k_i\)的集合的所有飞船. 能攻击编号在\([l_i,r_i]\)区间内的所有飞船. 能攻击三个飞船,编号分别为\(a_i,b_i,c_i\). 其中,前两种类型的武器每个只能攻击\(1\)个飞船,第三种每个只能使用\(…
计数dp 计数类的$dp$没做过几个,所以之前都放到"思维"标签下了,后来发现原来这属于一类问题啊...搬过来了. 管道取珠:https://www.lydsy.com/JudgeOnline/problem.php?id=1566 题意概述: 有这样的两根管道接在一起,上边有$n$个珠子,下边有$m$个,每次可以从上或下取出一个(向右滑出去),只会有两种颜色的珠子,求不同的取珠序列的总数的平方和.(只要两个取出序列的珠子颜色都相同就视为相同的序列,不用考虑上下).$n,m<=3…