博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【JZOJ4783】【NOIP2016提高A组模拟9.15】Osu
阅读量:4981 次
发布时间:2019-06-12

本文共 1751 字,大约阅读时间需要 5 分钟。

题目描述

这里写图片描述

输入

这里写图片描述

输出

这里写图片描述

样例输入

4 2

1 2 2
2 0 2
3 0 0
4 2 0

样例输出

1 2 1

数据范围

这里写图片描述

样例解释

圆圈只在出现的时刻有效。即:时刻t_i时鼠标位置恰好在(x_i,y_i)才能得分。

Kaguya所做的工作就是在这些时刻间移动鼠标。
对于样例:选择点击第2、4个圆圈。
时间[0,2]内,鼠标从(0,0)移动到(0,2),速度为1,并在时刻2得分。
时间[2,4]内,鼠标从(0,2)移动到(2,0),速度为sqrt(2),并在时刻4得分。
因此答案为sqrt(2), a=1 b=2 c=1

解法

二分最大速度的取值,有n^2种。

再利用动态规划解决判定性问题。
注意卡常。

代码

#include
#include
#include
#include
#include
#include
#include
#define ll long long#define ln(x,y) int(log(x)/log(y))#define sqr(x) ((x)*(x))#define random(x) (rand()%x)using namespace std;const char* fin="aP2.in";const char* fout="aP2.out";const int inf=0x7fffffff;const int maxn=2007,maxtot=maxn*maxn;int n,m,i,j,k,tot,l,r,mid,cnt;struct node{ int t,x,y;}a[maxn];int gcd(int a,int b){ if (b) return gcd(b,a%b); else return a;}struct fuck{ int a,b,c; fuck(){ a=b=c=0; } double val(){ if (c==0) return inf; return a*sqrt(b)/c; } bool operator <=(const fuck& b1){ return (ll)sqr(a)*b*sqr(b1.c)<=(ll)sqr(b1.a)*b1.b*sqr(c); } bool operator <(const fuck& b1){ return (ll)sqr(a)*b*sqr(b1.c)<(ll)sqr(b1.a)*b1.b*sqr(c); } bool operator >(const fuck& b1){ return (ll)sqr(a)*b*sqr(b1.c)>(ll)sqr(b1.a)*b1.b*sqr(c); } void operator =(const fuck& b1){ a=b1.a; b=b1.b; c=b1.c; } void print(){ int i,j,k; for (i=2;i<=int(sqrt(b));i++){ while (b%sqr(i)==0){ a*=i; b/=sqr(i); } } k=gcd(a,c); a/=k; c/=k; printf("%d %d %d",a,b,c); }}b[maxn*maxn];bool cmp(fuck a,fuck b){ return a
=0;j--){ if (f[i]
=m;}void qsort(int l,int r){ int i=l,j=r,k=l+(r-l)/2; fuck mid=b[k]; while (i<=j){ while (b[i]
mid) j--; if (i<=j){ swap(b[i],b[j]); i++; j--; } } if (l

启发

最值套最值用二分,当数值不能二分时,考虑取值。

卡常时去除冗余状态。

转载于:https://www.cnblogs.com/hiweibolu/p/6714893.html

你可能感兴趣的文章
MySQL 5.7.21版本sql_mode=only_full_group_by问题
查看>>
Codeforces Round #576 (Div. 2) 题解
查看>>
对偶问题复习要点整理
查看>>
使用OFBIZ 时,使用的键入提示。
查看>>
实习记录1
查看>>
2018-2019-2 网络对抗技术 20165305 Exp 8 Web基础
查看>>
用XPath查找HTML节点或元素
查看>>
Oracle统计、分析和优化环境配置
查看>>
指向函数的指针
查看>>
Ant步步为营(1)解压本地的zip包
查看>>
低版本的linux系统装samba服务器
查看>>
设计模式的
查看>>
关于MySql数据库设计表与查询耗时分析
查看>>
动画参数
查看>>
一道(古老的)英文题
查看>>
定义一些常亮
查看>>
怎么准确的判断当前页面是否有虚拟导航栏
查看>>
客户端(浏览器端)数据存储技术概览
查看>>
redis发布(pub)、订阅(sub)模式
查看>>
Python数据分析-知识宝藏
查看>>