[Tsinsen A1210] 光棱坦克(动态规划+前缀和优化)
题意
对于第一个限制很容易会想到对 y y y进行排序,但是这样子空间是 O ( n 2 ) O(n^2) O(n2)的,过不了这个卡空间的题,那么我们考虑对 x x x进行排序。
#include<bits/stdc++.h>
#define file(s) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)
#define go(x, i) for(register int i = head[x]; i; i = nxt[i])
#define For(i, a, b) for(register int i = (a), i##_end_ = (b); i <= i##_end_; ++ i)
#define FOR(i, a, b) for(register int i = (a), i##_end_ = (b); i >= i##_end_; -- i)
#define debug(x) cout << #x << " = " << x << endl
#define mem(a, b) memset(a, b, sizeof(a))
#define cpy(a, b) memcpy(a, b, sizeof(a))
#define min(a, b) (a < b ? a : b)
#define max(a, b) (b < a ? a : b)
#define inf (0x3f3f3f3f)
#define INF (1e18)
#define pb push_back
#define mp make_pair
#define x first
#define y second
typedef unsigned long long ull;
typedef unsigned int uint;
typedef long long ll;
typedef std::pair<ll, int> PLI;
typedef std::pair<int, int> PII;
typedef long double ldb;
typedef double db;
template<class T>inline bool chkmax(T &_, T __) {return _ < __ ? _ = __, 1 : 0;}
template<class T>inline bool chkmin(T &_, T __) {return _ > __ ? _ = __, 1 : 0;}
using namespace std;
const int N = 7e3 + 10;
int f[N][2], n, ans, mod;
struct Point {int x, y;bool operator < (const Point &T) const {return x < T.x;}
}A[N];
int main() {#ifdef ylsakioifile("refract");
#endifscanf("%d%d", &n, &mod); For(i, 1, n) scanf("%d%d", &A[i].x, &A[i].y); ans = mod - n; sort(A + 1, A + n + 1);For(i, 1, n) {f[i][0] = f[i][1] = 1;FOR(j, i - 1, 1) {if(A[i].y > A[j].y) (f[i][0] += f[j][1]) %= mod;if(A[j].y > A[i].y) (f[j][1] += f[i][0]) %= mod;}}For(i, 1, n) (ans += (f[i][0] + f[i][1]) % mod) %= mod;cout << ans << endl;return 0;
}
[Tsinsen A1210] 光棱坦克(动态规划+前缀和优化)相关推荐
- [tsinsen1210]光棱坦克——动态规划+前缀和优化
题目大意: 一个平面直角坐标系上,有N个点,标号为1到N,其中第i个点的坐标为(x[i], y[i]). 求满足以下两个条件的点列{p[i]}的数目(假设{p[i]}的长度为M): 1) 对任意1 & ...
- 清橙 A1210. 光棱坦克
A1210. 光棱坦克 时间限制:1.0s 内存限制:512.0MB 总提交次数: AC次数: 平均分: 将本题分享到: 查看未格式化的试题 提交 试题讨论 试题来源 2010 ...
- 清橙A1210. 光棱坦克
问题描述 一个平面直角坐标系上,有N个点,标号为1到N,其中第i个点的坐标为(x[i], y[i]). 求满足以下两个条件的点列{p[i]}的数目(假设{p[i]}的长度为M): 1) 对任意1 &l ...
- [JZOJ1901] 【2010集训队出题】光棱坦克
题目 题目大意 给你个平面上的一堆点,问序列pi{p_i}pi的个数. 满足ypi−1>ypiy_{p_{i-1}}>y_{p_i}ypi−1>ypi并且xpix_{p_i ...
- jzoj1901. 光棱坦克
题目描述 Description 一个平面直角坐标系上,有N个点,标号为1到N,其中第i个点的坐标为(x[i], y[i]). 求满足以下两个条件的点列{p[i]}的数目(假设{p[i]}的长度为M) ...
- 序列计数(动态规划/自动机/前缀和优化)
序列计数 对于一个小写字母的序列每次可以将相邻两个不同的小写字母都变为二者之一,可以进行无限次这样的操作,求解可以产生多少种不同的序列. 首先我们不能考虑操作,而是考虑合法序列,显然最后会形成若干个区 ...
- argb可以和rgb同步吗_神光同步酷炫幻彩,安钛克光棱120 RGB风扇套装
目前这个时代,电脑的各种配件来说,走向了万物皆要有光的风格.相信发光耳机,发光键盘,发光鼠标大家也都见过不少.侧透机箱甚至全透机箱搭配各类酷炫光效在电竞游戏领域也变得越来越火.许多小伙伴在组装一款电脑 ...
- 【算法】动态规划 ④ ( 动态规划分类 | 坐标型动态规划 | 前缀划分型动态规划 | 前缀匹配型动态规划 | 区间型动态规划 | 背包型动态规划 )
文章目录 一.动态规划场景 二.动态规划分类 1.坐标型动态规划 2.前缀划分型动态规划 3.前缀匹配型动态规划 4.区间型动态规划 5.背包型动态规划 一.动态规划场景 动态规划 动态规划使用场景 ...
- 【BZOJ5311/CF321E】贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性)
[BZOJ5311/CF321E]贞鱼/Ciel and Gondolas(动态规划,凸优化,决策单调性) 题面 BZOJ CF 洛谷 辣鸡BZOJ卡常数!!!!!! 辣鸡BZOJ卡常数!!!!!! ...
最新文章
- 网传京东某程序员因压力太大,在商品页面置入骂人代码!京东辟谣:不关我们的事,外部商家干的!...
- javascript es6 module 模块 的使用
- 运维企业专题(2)HTTP加速器——Varnish缓存机制后篇(后端服务器集群、负载均衡与CDN推送平台搭建)
- 如何右对齐弹性项目?
- java中volatile
- 伪装qizhi software数字签名的下载者分析报告
- 使用 PHP 创建自己的视频点播网站
- python自动控制_程序员用Python实现自动化控制键盘和鼠标
- 【PAT甲级 大整数BigInteger】1065 A+B and C (64bit) (20 分) Java 全部AC
- 浙江大学计算机研究生分数线初试单科学科,计算机考研|这两所自划线,单科没过线也能复试?!...
- 电子认证服务许可证企业名单_工信部注销28家企业跨地区增值电信业务经营许可证...
- 一道组合数学题-马拦过河卒,很精彩
- day12-html(css)
- JAVA velocity语法讲解
- 34. 脱壳篇-FSG压缩壳、ImportREC修复IAT输入表的使用,令一种寻找OEP方式
- java 网页版通讯_JavaWeb网页聊天室(WebSocket即时通讯)
- xssgame第六关至第八关
- ImageCompressor图片压缩
- 牛客SQL练习题笔记 -- 通配符%和以扩充表的角度理解内连接
- 什么是 Python ?聊一聊Python程序员找工作的六大技巧