数数题(计数类 DP)做题记录
数数题(计数类 DP)做题记录
CF1657E Star MST
我们称张无向完全图是美丽的当且仅当:所有和 \(1\) 相连的边的边权之和等于这张完全图的最小生成树的边权之和。
完全图点数为 \(n\),边权 \(\in[1,k]\),\(1\le n,k\le 250\)。
发现所有和 \(1\) 相连的边边权之和等于 MST 的边权之和,即限制这张图的 MST 就是以 \(1\) 为中心的“星星”形状。
所以任意两个点之间的边权一定大于等于他们与 \(1\) 相连的边的边权的最大值。
那么设 \(dp(i,j)\) 表示连了 \(\le i\) 的边权,选择了除了 \(1\) 之外 \(j\) 个点的方案数。
那么枚举状态,将转移表示把边权为 \(i\) 边新加进去,可以得到转移方程:
总时间复杂度 \(\mathcal{O(n^3)}\)(假设 \(n,k\) 同阶)。
P8096 [USACO22JAN] Drought G
Farmer John 的 \(n(n\le 100)\) 头奶牛站成一排,每一个都有一个饥饿值 \(h_i\),Farmer John 可以每次选择相邻的两头奶牛使她们的饥饿值同时 \(-1\)。
Farmer John 想让他的所有奶牛都有相同的饥饿值,尽管他不知道每头奶牛具体的饥饿值,只知道她们每一头饥饿值的上限 \(H_i(H_i\le 1000)\),使得 \(h_i\le H_i\)。
请计算出所有满足 Farmer John 的要求的 \(n\) 元组 \([h_1,h_2,\cdots,h_n]\) 数量对 \(10^9+7\) 取模的结果。
假设最终都到达的饥饿值为 \(k\),设 \(dp_{i,j}\) 表示前 \(i-1\) 头牛都达到了要求,第 \(i\) 头牛的饥饿值为 \(j\) 的方案数。
那么因为需要让 \(i\) 牛也变成 \(k\),可以列出转移方程:
上面的方程可以用前缀和优化实现 \(O(1)\) 转移。
那么最终答案就是 \(dp_{n,k}\)。
由于我们发现如果 \(n\) 是偶数,可以通过 \(\dfrac{n}{2}\) 次操作使所有饥饿值 \(-1\),所以如果 \(n\) 为偶数只用枚举一个 \(k\) 即可。
[USACO22MAR] Pair Programming G
还是不会
P4778 Counting swaps
数数题(计数类 DP)做题记录相关推荐
- 【2020数模F奖】 美赛C题参赛感受及做题思路记录【编程手的角度,含大量代码及参考链接】
目录 写在前面的话 题目分析 [数据清洗] [NLTK] [第一题] [第2题e问] [词云]---wordcloud包 [TF-IDF算法] [第2题a.b.c问]需要先对评论数值化 [Textbl ...
- 洛谷P3146 区间dp做题笔记
不是题解,不是题解,不是题解,纯属个人笔记,不知所言. 传送门:P3146 问:什么时候才能写的一手漂亮的dp? 答:夜深人静之时,魂归故里之日. 此题是一道基础的区间dp的题,看完题解犹豫片刻,之后 ...
- dp做题想法(满纸荒唐言)
又一周很快过去了,说实话这周做题不太多,有舍友过生日的筹划庆祝,也有周六的班级郊游聚会,当然周六可差点把我冻死,天有不测风云吧,之前也没想到会这么冷.当然这些都不是做的少的理由,还是懒吧,害怕遇到困难 ...
- HDU--4248、A Famous Stone Collector (计数类dp)
题目链接 题面: 题意: 有 nnn 种颜色的石子,第 iii 种颜色的石子有 aia_iai 个. 我现在要从里面选出若干个石子排成一排,问有多少种不同的序列. 两个序列不同当且仅当长度不同或者至 ...
- Acwing900. 整数划分[计数类dp]:完全背包解法
文章目录 题目分析 完全背包解法 题目链接 题目分析 完全背包解法 请复习完全背包模板完全背包dp优化内有完整标准完全背包的推导过程 状态表示: f[i][j]f[i] [j]f[i][j] 表示从 ...
- CF559C-Gerald and Giant Chess【计数类dp】
正题 上不了Codeforces,就用洛谷了 评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=CF559C 题目大意 H∗WH ...
- 【Leetcode栈与队列】1047.删除字符串中的所有相邻重复项 6120.数组能形成多少数对(一些题外话和做题经验!!看作对对碰游戏!!)
文章目录 题外话 1.游戏开发可能使用栈结构 2.编程语言的一些功能实现也会使用栈结构 Leetcode 1047.删除字符串中的所有相邻重复项 1.问题描述 2.解决方案 Leetcode 6120 ...
- POJ - 1737 Connected Graph,Java(计数类DP)
POJ - 1737 Connected Graph C++高精太难写了,直接用Java的大整数会方便一点 常规方法 import java.io.*; import java.math.BigInt ...
- 整数划分(计数类DP)
题目 一个正整数 n 可以表示成若干个正整数之和,形如:n=n1+n2+-+nk,其中 n1≥n2≥-≥nk,k≥1. 我们将这样的一种表示称为正整数 n 的一种划分. 现在给定一个正整数 n,请你求 ...
最新文章
- TensorFlow csv读取文件数据(代码实现)
- Linux 下 PHP 5.2.x 连接 SQL Server 数据库 FreeTDS 配置笔记
- Kafka源码深度解析-序列3 -Producer -Java NIO
- java nosql_Java EE的NoSQL的未来
- 对PostgreSQL SPI例子的学习
- c语言输出11258循环,c/c++内存机制(一)(转)
- LeetCode 557. 反转字符串中的单词 III(栈)
- spring面向AOP之动态代理
- svn 合并问题 MERGE of '/svn/web': 200 OK (http://xx.xx.xx.xx)
- androidstudio mac mini_苹果M1芯片笔记本能安装运行Android Studio和模拟器吗?能!
- ASP+Access数据库的终极安全大法18则(原创)
- python后端开发书籍_后端书籍推荐
- OracleERP-采购管理
- 相似文档查找算法之 simHash
- 三菱plc232数据线驱动下载_失易得安卓恢复v5.3.5.0-失易得安卓恢复PC版下载
- 南方cass字体样式设置_cass改变字体格式 cass字体样式管理器
- windows无法访问共享文件 所有解决方法(非复制粘贴的烂大街处理方法)
- httpwatch使用_使用PHP#2自动化HTTPWatch
- win10修改用户名/指纹无法置入/用户文件没有重命名的选项
- Java——继承的概念
热门文章
- matlab提示未定义wc,WooCommerce 教程:修复致命错误调用未定义的函数wc_get_order() - WooCommerce 微站...
- 操作数数据类型 char 对于 sum 运算符无效。_数据类型和运算符
- jbl css-h15,JBL CSS8006BM 天花音箱
- java 固定长度队列_如何彻底搞懂 Java 数据结构?|CSDN 博文精选
- gitee 从 拉取新分支到本地_Hexo博客详细教程(一)| 建立本地站点
- 7-4 N皇后 (28 分)(思路+详解)
- [JavaWeb-XML]XML概述
- 2021年度训练联盟热身训练赛第一场 H题On Average They‘re Purple(BFS)
- sklearn svm如何选择核函数_机器学习之支持向量机多种核模型对比
- wordList01