Gym - 101606L Lizard Lounge——LIS
按照先极角后距离的顺序排序,然后对每一个序列求一遍LIS, 累加起来就是结果
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <vector>
#include <cmath>
using namespace std;
const int maxn = 1e6 + 10;
const int INF = 0x3f3f3f3f;
const double eps = 1e-8;
int dcmp(double x) {if (fabs(x) < eps) return 0;return x > 0 ? 1 : -1;
}
struct Node {int x, y, h;double angle;double dis;bool operator < (const Node &atr) const {if (dcmp(angle - atr.angle) != 0) return angle < atr.angle;return dis < atr.dis;}
}node[maxn];
vector<int> v[maxn];
int dp[maxn];
int cx, cy, n;
int main() {scanf("%d %d", &cx, &cy);scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d %d %d", &node[i].x, &node[i].y, &node[i].h);node[i].x -= cx, node[i].y -= cy;node[i].angle = atan2(node[i].y, node[i].x);node[i].dis = sqrt(1.0*node[i].x*node[i].x+1.0*node[i].y*node[i].y);}sort(node+1, node+1+n);int cnt = 0;for (int i = 1; i <= n; i++) v[i].clear();v[++cnt].push_back(node[1].h);for (int i = 2; i <= n; i++) {if (dcmp(node[i].angle - node[i-1].angle) != 0) ++cnt;v[cnt].push_back(node[i].h);}int ans = 0;for (int i = 1; i <= cnt; i++) {int len = v[i].size();for (int j = 0; j < len; j++) dp[j] = INF;for (int j = 0; j < len; j++) *lower_bound(dp, dp+len, v[i][j]) = v[i][j];ans += lower_bound(dp, dp + len, INF) - dp;}printf("%d\n", ans);return 0;
}
Gym - 101606L Lizard Lounge——LIS相关推荐
- 7033: Lounge Lizards(lis)
7033: Lounge Lizards 时间限制: 10 Sec 内存限制: 128 MB 提交: 60 解决: 13 [提交] [状态] [讨论版] [命题人:admin] 题目描述 Moni ...
- UVa 10051 Tower of Cubes(类似LIS)
题意: 一些重量递增而且各个面都有颜色的立方体,要将这些立方体堆成一个塔,要求两个接触面同色,而且下面的立方体更重.求塔的最大高度. 思路: 用求LIS的思想,无非是多了几个状态.dp[i][j]表示 ...
- 强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例
强化学习(三) - Gym库介绍和使用,Markov决策程序实例,动态规划决策实例 1. 引言 在这个部分补充之前马尔科夫决策和动态规划部分的代码.在以后的内容我会把相关代码都附到相关内容的后面.本部 ...
- Gym - 102082G
Gym - 102082G https://vjudge.net/problem/2198225/origin 对于数列中任意一个数,要么从最左边到它不递减,要么从最右边到到它不递减,为了满足这个条件 ...
- 1045 Favorite Color Stripe(LIS解法)
解题思路 本题属于Longest Increasing Sequence最长不下降子序列,但是要注意,LIS当中不会有无效的元素,而本题是有的,所以先要把无效元素过滤掉,才能转化成为LIS问题. 这里 ...
- 安装gym库_强化学习Gym库学习实践(一)
最近看了一篇研究方向相关的文章,介绍了一种DQN的应用,感觉还挺新鲜的.想着把这篇文章复现出来,就开始学习强化学习的相关知识,作为一名小白,这一路走的可是真的十分艰难(我太菜了啊!) 看了莫烦Pyth ...
- LIS ZOJ - 4028
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=4028 memset超时 这题竟然是一个差分约束 好吧呢 对于每一个a[i] ...
- 【hdu】4521 小明序列【LIS变种】【间隔至少为d】
题目链接:https://vjudge.net/contest/228455#problem/B 转载于:https://blog.csdn.net/a709743744/article/detail ...
- HDU 1257 - 最少拦截系统 ( LIS / 贪心 )
题目 现在有一种拦截系统,第一发拦截可以是任意高度,但是之后的拦截高度不能比上次高.为了拦截下所有的炮弹,最少需要准备几套拦截系统? 思路 可能是语文没学好吧,一开始被题意卡了一下.(而且题目连数据范 ...
最新文章
- iOS UICollectionViewCell 的拖动
- ajax get时不能更新页面的解决方法
- Leecode05. 最长回文子串——Leecode大厂热题100道系列
- BZOJ5093图的价值(斯特林数)
- 18awg线材最大电流_小米生态链拉车线:2.4A大电流,苹果MFi认证,高速充电不断裂...
- 温州服务器付费方式_新购买的服务器是选择包年包月还是按流量计费呢?
- TP LINK交换机 console 超级终端链接设置
- V-REP 插件教程
- 【实验技术笔记】细胞表型检测之细胞凋亡(Hoechst染色 + PI染色 + TUNEL 染色 + Annexin V-PI 双染)
- 闲聊人工智能产品经理(AIPM)—方法论
- 启动docker 报ERROR: failed to register layer: symlink
- 基于 HTML5 Canvas 的简易 2D 3D 编辑器
- CPU 缓存如何影响你的 Go 程序性能
- 程序员系列头像表情包一
- python笔记手册_《Python 学习手册》读书笔记
- v18.02 鸿蒙内核源码分析(源码结构) | 内核文件各自含义 | 百篇博客分析HarmonyOS源码
- 知识点滴 - 芯片主要封装类型介绍
- FastDFS文件系统单机环境搭建
- cmail 在redhat5.4 x64位安装
- Golang 027. 佩尔数列Pell(n)
热门文章
- JPA+Hibernate中常用的注解
- 基于hadoop平台hive数据库处理电影数据
- qt android图片自适应大小,Qt on Android:怎样适应不同的屏幕尺寸
- 判断一个数是否为完全数
- java word 颜色设置_如何在Java中为word文档(.doc或.docx)设置背景颜色(页面颜色)?...
- 一种Vin码扫描识别sdk技术
- java判断一个字符串对象是否在一个集合里面
- 连接 mysql 数据库的 失败_MySQL_连接MySQL数据库失败频繁的原因分析,连接mySQL数据库失败频繁,主 - phpStudy...
- 本轮大宗商品涨价:(背后原因分析)2021-09
- 如何利用手机云控系统来体现