以下部分来自:http://www.cnblogs.com/zhuohan123/p/3726306.html

此证明有误。

DZY系列。

这题首先是几个性质:

  1.所有球质量相同,碰撞直接交换速度,而球又没有编号,那么就可以直接视作两个球没有碰撞。

  2.所有的方向、初始位置都没有任何用处。

然后就是速度的问题了,根据题设

a⋅v=C
 
与这几个方程联立
 
a⋅v=C
s=v·t;
vt2=v02+2·a·s
 
解这个方程组,可以得到

vt=√(2·C·t+v02)

那么T时刻的速度vT的相对大小就直接由v0决定了,我们只需要找到第k小的v0,直接输出答案即可。

现在问题在于:支持插入,查询全局K大值。

平衡树显然可做,但是 权值线段树/权值树状数组 不是更快吗?

但是 权值分块 竟然更快呢?

可能是因为其极小的常数 以及 插入时O(1) 的复杂度吧。

 #include<cstdio>
#include<cmath>
using namespace std;
#define max(a,b) (((a)>(b))?(a):(b))
int n,K,V,v[],m,b[],LIMIT,sz,sum,sumv[],l[],r[],num[];
bool op;
double CONST,T;
inline int R(){
char c=;int f=,x;
for(;c<''||c>'';c=getchar())if(c=='-')f=-;
for(x=;c>=''&&c<='';c=getchar())(x*=)+=(c-'');
x*=f; return x;
}
void makeblock()
{
sz=sqrt(LIMIT); if(!sz) sz=; r[]=-;
for(sum=;sum*sz<LIMIT;sum++)
{
l[sum]=r[sum-]+;
r[sum]=sum*sz;
for(int i=l[sum];i<=r[sum];i++) num[i]=sum;
}
l[sum]=r[sum-]+;
r[sum]=LIMIT;
for(int i=l[sum];i<=r[sum];i++) num[i]=sum;
}
void Insert(const int &x){b[x]++; sumv[num[x]]++;}
inline int Kth(const int &x)
{
int cnt=;
for(int i=;;i++)
{
cnt+=sumv[i];
if(cnt>=x)
{
cnt-=sumv[i];
for(int j=l[i];;j++)
{cnt+=b[j]; if(cnt>=x) return j;}
}
}
}
inline double sqr(const double &x){return x*x;}
int main()
{
n=R(); CONST=(double)R();
for(int i=;i<=n;i++)
{
v[i]=R(); R(); R();
LIMIT=max(LIMIT,v[i]);
} makeblock(); m=R();
for(int i=;i<=n;i++) Insert(v[i]);
for(int i=;i<=m;i++)
{
op=R(); if(op)
{
T=(double)R(); K=R();
printf("%.3f\n",sqrt(2.0*CONST*T+sqr((double)Kth(K))));
}
else {V=R(); R(); R(); Insert(V);}
}
return ;
}

【权值分块】bzoj3570 DZY Loves Physics I的更多相关文章

  1. BZOJ3570 : DZY Loves Physics I

    考虑两个质量均为m,速度分别v1.v2的小球发生完全弹性碰撞的影响: 由动能守恒得: $\frac{1}{2}mv_1^2+\frac{1}{2}mv_2^2=\frac{1}{2}mv_1'^2+\ ...

  2. CF 444C DZY Loves Physics(图论结论题)

    题目链接: 传送门 DZY Loves Chemistry time limit per test1 second     memory limit per test256 megabytes Des ...

  3. Codeforces 444A DZY Loves Physics(图论)

    题目链接:Codeforces 444A DZY Loves Physics 题目大意:给出一张图,图中的每一个节点,每条边都有一个权值.如今有从中挑出一张子图,要求子图联通,而且被选中的随意两点.假 ...

  4. Codeforces Round #254 (Div. 1) A. DZY Loves Physics 智力题

    A. DZY Loves Physics 题目连接: http://codeforces.com/contest/444/problem/A Description DZY loves Physics ...

  5. CodeForces 444C. DZY Loves Physics(枚举+水题)

    转载请注明出处:http://blog.csdn.net/u012860063/article/details/37509207 题目链接:http://codeforces.com/contest/ ...

  6. cf444A DZY Loves Physics

    A. DZY Loves Physics time limit per test 1 second memory limit per test 256 megabytes input standard ...

  7. 2019.01.08 bzoj3809: Gty的二逼妹子序列(莫队+权值分块)

    传送门 题意:多组询问,问区间[l,r]中权值在[a,b]间的数的种类数. 看了一眼大家应该都知道要莫队了吧. 然后很容易想到用树状数组优化修改和查询做到O(mnlogamax)O(m\sqrt nl ...

  8. 2018.11.07 NOIP训练 L的鞋子(权值分块+莫队)

    传送门 乱搞题. 我直接对权值分块+莫队水过了. 不过调了30min30min30min发现ststst表挂了是真的不想说什么233. 代码

  9. 【莫队算法】【权值分块】bzoj3920 Yuuna的礼物

    [算法一] 暴力. 可以通过第0.1号测试点. 预计得分:20分. [算法二] 经典问题:区间众数,数据范围也不是很大,因此我们可以: ①分块,离散化,预处理出: <1>前i块中x出现的次 ...

随机推荐

  1. Faster R-CNN教程

    Faster R-CNN教程 最后更新日期:2016年4月29日 本教程主要基于python版本的faster R-CNN,因为python layer的使用,这个版本会比matlab的版本速度慢10 ...

  2. Codeforces Round #520 (Div. 2) A. A Prank

    A. A Prank time limit per test   1 second memory limit per test    256 megabytes 题目链接:https://codefo ...

  3. 关于GitHub学习的地方,很明了

    地址: http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000

  4. bzoj2683/4066 简单题

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2683 http://www.lydsy.com/JudgeOnline/problem.ph ...

  5. [BZOJ1004] [HNOI2008]Cards解题报告(Burnside引理)

    Description 小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张红 ...

  6. Python 模拟SQL对文件进行增删改查

    #!/usr/bin/env python # _*_ coding:UTF-8 _*_ # __auth__: Dalhhin # Python 3.5.2,Pycharm 2016.3.2 # 2 ...

  7. SpringMvc基础知识(一)

    目录: springmvc框架原理(掌握) 前端控制器.处理器映射器.处理器适配器.视图解析器 springmvc入门程序 目的:对前端控制器.处理器映射器.处理器适配器.视图解析器学习 非注解的处理 ...

  8. Basic-Paxos原理

    Basic-Paxos //参考paxos made sample 核心是一致性协议算法. 问题 假定一个集合中的提案者可以产生一项决议. 一致性算法保证在提案者中只有一个提案可以形成决议. 如果没有 ...

  9. 转 appium解决每次运行都需要安装Unlock以及AppiumSetting的问题

    一.需要解决的问题 在部分android机型上每次运行最新版的appium-desktop都需要安装AppiumSetting以及Unlock,并且安装过程需要用户手动来确认,即使测试机上已经安装了这 ...

  10. heightCharts改变图表内图标的样式:链接外部图片

    series: [{ name: '东京', marker: { symbol: 'url(https://www.highcharts.com/demo/gfx/sun.png)'     //链接 ...