luogu P3643 [APIO2016]划艇
https://www.luogu.com.cn/problem/P3643
经典题
把范围离散化后转移可以做到 O ( n 3 ) O(n^3) O(n3)
方案数可以用用组合数计算
code:
#include<bits/stdc++.h>
#define mod 1000000007
#define N 2005
#define ll long long
using namespace std;
int n, a[N], b[N], c[N], gs;
ll f[N], C[N], inv[N];
int main() {scanf("%d", &n);inv[1] = 1;for(int i = 2; i <= n; i ++) inv[i] = (mod - mod / i) * inv[mod % i] % mod;for(int i = 1; i <= n; i ++) scanf("%d%d", &a[i], &b[i]), c[++ gs] = a[i], c[++ gs] = b[i] + 1;sort(c + 1, c + 1 + gs);gs = unique(c + 1, c + 1 + gs) - c - 1;for(int i = 1; i <= n; i ++) {a[i] = lower_bound(c + 1, c + 1 + gs, a[i]) - c;b[i] = lower_bound(c + 1, c + 1 + gs, b[i] + 1) - c;}C[0] = f[0] = 1;for(int j = 1; j < gs; j ++) {int len = c[j + 1] - c[j];for(int i = 1; i <= n; i ++) C[i] = C[i - 1] * (len + i - 1) % mod * inv[i] % mod;for(int i = n; i >= 1; i --) if(a[i] <= j & j + 1 <= b[i]) {int s = 1;for(int k = i - 1; k >= 0; k --) {(f[i] += f[k] * C[s] % mod) %= mod;if(a[k] <= j && j + 1 <= b[k]) s ++;}}}ll ans = 0;for(int i = 1; i <= n; i ++) ans = (ans + f[i]) % mod;printf("%lld", ans);return 0;
}
luogu P3643 [APIO2016]划艇相关推荐
- [APIO2016]划艇
[APIO2016]划艇 总共只有2*n段.分段进行DP 简单的方法是: 外层枚举段数j,f[i]表示,当前枚举到j的时候,以(i,j)结尾(必须选择(i,j))的方案数,枚举一个f(p,1~j-1) ...
- [APIO2016] 划艇(dp + 组合数 + 前缀和优化)
problem luogu-P3643 solution 有个显然的暴力 dpdpdp.设 dp(i,j):dp(i,j):dp(i,j): 到了第 iii 个学校,其参加且派出 jjj 个划艇的方案 ...
- luogu P3642 [APIO2016]烟火表演
https://www.luogu.com.cn/problem/P3642 好毒瘤啊!!! 首先按照套路 设f(x)表示以u为根的,距离为x的最小代价设f(x)表示以u为根的,距离为x的最小代价设f ...
- Educational Codeforces Round 81 (Rated for Div. 2) F.Good Contest \ 洛谷 划艇 组合 计数dp
cf传送门 P3643 [APIO2016]划艇 文章目录 题意: 思路: 题意: aia_iai在[li,ri][l_i,r_i][li,ri]等概率随机选一个数,求aaa数组不增的概率. 思 ...
- 2020.7月做题记录
转眼就到了2020的下半年了-前方仍是一片茫然. 长期计划 prufer 序列 2020.07.02-2020.07.04 Problem Finished P2624 [HNOI2008]明明的烦恼 ...
- 「APIO2016」划艇 (dp+组合数+区间离散化)(考试)
题干: 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着 N 个划艇学校,编号依次为 1 到 N.每个学校都拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划艇颜色互不相同. ...
- 【APIO2016】划艇
Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着个划艇学校,编号依次为到.每个学校都拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划艇颜色互不相同. ...
- [Luogu P3642] [BZOJ 4585] [APIO2016]烟火表演
洛谷传送门 BZOJ传送门 题目描述 烟花表演是最引人注目的节日活动之一.在表演中,所有的烟花必须同时爆炸.为了确保安全,烟花被安置在远离开关的位置上,通过一些导火索与开关相连.导火索的连接方式形成一 ...
- luogu P1549 棋盘问题(2) 题解
luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...
最新文章
- 继Facebook开源PyTorch3D后,谷歌开源TensorFlow 3D场景理解库
- Django_ORM数据表查询总结
- JavaBean网页电子时钟
- Python格式化字符串f-string常用用法
- python cocos2dx_cocos2dx 3.0 环境搭建、项目编译于运行
- C++静态成员总结(转)
- C# 如何理解如下泛型约束 class AT:where T:class{}
- 介绍几个能下载中英文双语字幕电影的网站
- PointCNN程序简介
- Matlab中的fspecial函数
- tomcat中的过滤器
- 机器学习中的概率分布
- nRF53832开发环境搭建
- 【牛腩新闻】——首页图片加载不出来
- vc调用浏览器打开指定网址页面
- mac 不显示 外接屏幕_苹果电脑外接显示器显示不出来 - 卡饭网
- 宅男福利!爬虫实战,爬取原神真人c图片并保存,谁的老婆快抱走
- 群聊比单聊,为什么复杂这么多?
- Tomcat 学习笔记
- yocto(五)——构建SDK及添加工具链
热门文章
- 【Android开发】自定义圆角button样式
- 全国计算机数字图形图像应用技术等级二级,全国计算机数字图形图像应用技术等级考试一级...
- 2022资料员-岗位技能(资料员)考试题模拟考试题库及在线模拟考试
- linux下wma转换mp3统一音量的方法
- 如何将计算机调整为英语,怎么把电脑设置为英文版的系统
- 利用随机方法得到一个随机验证码 #java
- Buyou:让你在iPad上轻松购物
- 想知道思维导图怎么写?手把手教你制作
- Locally Differential Private Frequency Estimation with Consistency: LDP的主流后处理算法
- android手机内存创建文件夹,Android在内存问题中创建文件夹