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]划艇相关推荐

  1. [APIO2016]划艇

    [APIO2016]划艇 总共只有2*n段.分段进行DP 简单的方法是: 外层枚举段数j,f[i]表示,当前枚举到j的时候,以(i,j)结尾(必须选择(i,j))的方案数,枚举一个f(p,1~j-1) ...

  2. [APIO2016] 划艇(dp + 组合数 + 前缀和优化)

    problem luogu-P3643 solution 有个显然的暴力 dpdpdp.设 dp(i,j):dp(i,j):dp(i,j): 到了第 iii 个学校,其参加且派出 jjj 个划艇的方案 ...

  3. luogu P3642 [APIO2016]烟火表演

    https://www.luogu.com.cn/problem/P3642 好毒瘤啊!!! 首先按照套路 设f(x)表示以u为根的,距离为x的最小代价设f(x)表示以u为根的,距离为x的最小代价设f ...

  4. 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数组不增的概率. 思 ...

  5. 2020.7月做题记录

    转眼就到了2020的下半年了-前方仍是一片茫然. 长期计划 prufer 序列 2020.07.02-2020.07.04 Problem Finished P2624 [HNOI2008]明明的烦恼 ...

  6. 「APIO2016」划艇 (dp+组合数+区间离散化)(考试)

    题干: 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着 N 个划艇学校,编号依次为 1 到 N.每个学校都拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划艇颜色互不相同. ...

  7. 【APIO2016】划艇

    Description 在首尔城中,汉江横贯东西.在汉江的北岸,从西向东星星点点地分布着个划艇学校,编号依次为到.每个学校都拥有若干艘划艇.同一所学校的所有划艇颜色相同,不同的学校的划艇颜色互不相同. ...

  8. [Luogu P3642] [BZOJ 4585] [APIO2016]烟火表演

    洛谷传送门 BZOJ传送门 题目描述 烟花表演是最引人注目的节日活动之一.在表演中,所有的烟花必须同时爆炸.为了确保安全,烟花被安置在远离开关的位置上,通过一些导火索与开关相连.导火索的连接方式形成一 ...

  9. luogu P1549 棋盘问题(2) 题解

    luogu P1549 棋盘问题(2) 题解 题目描述 在\(N * N\)的棋盘上\((1≤N≤10)\),填入\(1,2,-,N^2\)共\(N^2\)个数,使得任意两个相邻的数之和为素数. 例如 ...

最新文章

  1. LeetCode 221. Maximal Square----动态规划--谷歌面试算法题--Python解法
  2. Java黑皮书课后题第8章:**8.17(金融风暴)银行会互相借款……银行的总资产是它当时的余款减去它欠其他银行的贷款。如果一个银行的总资产在某个限以下,那么这个银行是不安全的。编写程序,找出所有不安
  3. Windows平台下Makefile学习笔记
  4. 12种提升视频质量的方法
  5. PicGo复制自定义链接
  6. centos7--shell脚本自动实现bond配置-第二版
  7. Android App优化之提升你的App启动速度之实例挑战
  8. 无法运行的愿意_旧电脑的福音:Win10精简版,运行比Win7更快,安装包不到3GB
  9. linux运维必学python吗_Python学习资源整理
  10. 打造黑苹果(一)组装硬件的选择与组装
  11. html内编写vbs,HTML_VBS编程教程 (第2篇),第二篇: 我真没想到, - phpStudy
  12. 三菱PLC程序,汽车厂流水线输送控制系统
  13. 详细通用phpstudy本地搭建网站以及cms搭建教程
  14. IE浏览器调用jquery需要注意的小问题
  15. 如何设置IE禁用代理服务器
  16. Qua Vadis Eclipse? 第一部分
  17. 坚果云 android 操作历史,坚果云怎样将文件恢复到某一个历史版本?两招轻松搞定!...
  18. Anaconda离线安装pkgs
  19. 腾讯、美团通报反腐情况;马斯克回应:涨价也没人补差价;滴滴出行恢复新用户注册 | EA周报...
  20. SpringCloud(3)——SpringDataJpa之EntityManager的CRUD

热门文章

  1. 让ChatGPT介绍一下ChatGPT
  2. java毕业设计基地信息可视化(附源码、数据库)
  3. win10任务栏搜索框没反应
  4. 湖北简智音:带你走进抖音短视频制作全过程
  5. 【论文笔记】FaceNet--Google的人脸识别
  6. 豆瓣排行250电影数据爬取
  7. speedoffice文档Word字体倾斜如何弄正
  8. 比较好的Android开发帖子
  9. 图书管理系(附源码PPT)
  10. OpenCV 中用cv::IMREAD_GRAYSCALE与cv::cvtColor转灰度得到灰度图不一致问题