首页 > 其他分享 >CF1545D-题解

CF1545D-题解

时间:2023-07-10 18:44:25浏览次数:50  
标签:le limits 题解 sum CF1545D 1000

题目链接

题目描述

有 \(n\) 个人和 \(k\) 个间隔相同时间的时刻,每个人都向正方向做匀速直线运动。给出每个时刻(\(0 \sim k - 1\))的所有人的坐标集合(无序),在这 \(nk\) 个数中有一个数是错误的,找出这个错误的数并将其改正。

数据范围:\(5 \le n \le 1000\),\(7 \le k \le 1000\)。

加强版:\(5 \le n \le 10^6\),\(7 \le k \le 10^6\)。

solution

本题是一道人类智慧题,基本只有灵光一闪才能想出来。

我们可以考虑所有人的速度都是不变的,因此每个时间刻之间的坐标和之差是一定的。形式化的,我们可以写成下面的式子:

设 \(f_t=\sum \limits_{i=1}^n(x_i+v_it)\),则

\[\begin{aligned} f_{t+1} &= \sum \limits_{i = 1}^n(x_i+v_i(t+1))\\ &=\sum \limits_{i=1}^n(x_i+v_it)+\sum \limits_{i=1}^nv_i\\ &=f_t+\sum \limits_{i=1}^n v_i \end{aligned} \]

我们就可以用这个性质找到哪一列出现了问题。但是这无法定位到哪个数。因此我们需要再次动用人类智慧。

我们设 \(s_t=\sum \limits_{i=1}^n (x_i+v_it)^2\)。那么我们再次作差,展开就可以得到下面的式子:

\[s_{t+1}+s_{t-1}-2s_t=\sum \limits_{i=1}^n 2v_i^2 \]

然后枚举即可。

所以这题复杂度瓶颈在读入(?)

代码也是过于简单,不放了。

标签:le,limits,题解,sum,CF1545D,1000
From: https://www.cnblogs.com/crimsonawa/p/17542004.html

相关文章

  • 【问题解决】docker login报错 org.freedesktop.Secret.Error.IsLocked: Cannot creat
    问题场景环境docker24.0.2社区版UbuntuServer18.04LTS刚刚执行dockerlogin登录仓库报错:hellxz@bigdata:~/dockerTest$dockerloginharbor.xxx.com.cnUsername:hellxzPassword:**Message:17:26:21.611:Remoteerrorfromsecretservice:org.freedesktop.Se......
  • CF1827D 题解
    problem&blog。很好的题。用到一些关于重心的trick。不妨认为只有一个重心\(\text{maxx}\)。设当前节点数为\(n\),重儿子所在的子树的大小为\(\text{maxsiz}\),那么答案即\(n-2\times\text{maxsiz}\),方法是往重儿子的那个子树爆加节点。因此需要在线维护\(\text{maxx}......
  • CF1601F Two Sorts 题解--zhengjun
    link这里提供一种不用meetinmiddle的方法,速度比较可观。发现性质开始简单的推一下式子。\(\sum(i-a_i)\bmodp=\sum(rk_i-i-p\times\lfloor\frac{rk_i-i}{p}\rfloor)=-p\times\sum\lfloor\frac{rk_i-i}{p}\rfloor,p=998244353\)于是,只需求出\(\sum\lfloor\frac{rk_i-......
  • C++题解——格子游戏
    题目链接:一本通TFLSOJ思路:使用并查集给点连接,如果在连接过程中遇到已连接的点二次连接,就输出代码:#include<bits/stdc++.h>usingnamespacestd;structnode{ intx,y;};nodef[205][205];intn,m;nodefind(nodek){ if(f[k.x][k.y].x==k.x&&f[k.x][k.y].y==k.y)retur......
  • Windows下安装python2和python3双版本及问题解决
    现在大家常用的桌面操作系统有:Windows、MacOS、ubuntu,其中MacOS和ubuntu上都会自带python。这里我们只介绍下Windows(我用的Win10)环境下的python2.x和python3.x的安装,以及python2.x与python3.x共存时的配置问题。本节内容python下载安装Python2.x安装Python3.x当前存......
  • 洛谷P1443:马的遍历--题解
    写在前面这是蒟蒻第一篇题解。作为一名没带脑子的初中生的第一篇题解,本题解必定存在诸多错误,给您带来的不便敬请谅解。对于不足之处与错误,还请多多包涵,并欢迎批评指正!本题目来自于洛谷,网址https://www.luogu.com.cn/problem/P1443。非营利性,侵权请联系删除。题目详情马的遍历......
  • Seata-server.bat闪退问题解决及Seata快速搭建
    转:Seata-server.bat闪退问题解决及Seata快速搭建 1.4上 部署的话 参考下边的地址:seata部署指南(v1.6.1) 启动seata服务前请先做好配置 ......
  • 「BalticOI 2011 Day2」Tree Mirroring 题解
    本文网址:https://www.cnblogs.com/zsc985246/p/17539182.html,转载请注明出处。题目大意现在有一棵树\(T\),复制一个完全相同的\(T'\),并将这两棵树的叶子节点全部对应合并在一起,形成一个图,我们称这种图为对称图。给定一个图,判断它是否为对称图。\(3\len,m\le10^5\)思路......
  • P5175 题解
    题意简述给出数列\({a_n}(1\len\le10^{18})\)的两项\(a_1,a_2\)与递推公式\(a_n=xa_{n-1}+ya_{n-2}\),求:\[S_n=\sum_{k=1}^{n}a_k^2\mod(10^9+7)\]题目分析一看见\(1\len\le10^{18}\),就大概能知道要用\(O(\logn)\)级别的算法。再一看递推,就知道要用矩阵快速幂了。......
  • AT2402 题解
    题意简述给你\(n\)杯水,第\(i\)杯的水温为\(t_i\),容量为\(v_i\),依次倒入容量为\(V\)的大盆。注意每次倒入水后盆内水的总体积必须恒定为\(V\),且每杯水必须全部倒入,因此为防止倒进水时溢出,在倒水之前可以从盆里往外倒出一些水。求每次倒进水后盆里水温度的最大值(每次计算......