首页 > 其他分享 >2023.07.13

2023.07.13

时间:2023-07-13 20:34:22浏览次数:39  
标签:13 max u1 ne u2 2023.07

2023.07.13

CF865D Buy Low Sell High

CF32E Hide-and-Seek

CF266D BerDonalds

\(O(n^3)\) 预处理出任意两个点间的最短距离 \(d(u, v)\)。

若餐厅定在边 \((u, v, w)\) 上,且与 \(u\) 点距离为 \(x\),则最远距离为 \(\max\limits_{i = 1}^{n}(d(u, i) + x, d(v, i) + w - x)\)。取得该函数最大值时,\(d(u, i) + x = d(v, i) + w - x\),解得 \(x = \frac{d(v, i) + w - d(u, i)}{2}\)。

然后画出关于 \(x\) 的函数图像,发现 \((u, v, w)\) 确定的情况下,最小值为最上方折线的最低点。

考虑枚举 \((u, v, w)\),算出每个 \(\max\) 函数的最高点,把横坐标相邻的两个最高点联立解出它们之间的低谷。

实际上有些最高点还会被覆盖,所以还要用单调栈来维护一下之类的,比较麻烦。

更好的处理方法是按 \(d(u, i)\) 从大到小排序,维护使得 \(d(v, i)\) 最大的 \(i = p\),对于之后的折线,若 \(d(v,i) > d(v, p)\),则产生一个合法交点,且不会覆盖之前的交点。

有趣的是 \(ans\) 的小数部分要么是 \(0.0\) 要么是 \(0.5\),所以给了 \(10^{-9}\) 次方这么严格的精度限制。

CF200A Cinema

记录 \(d(x, y)\) 表示 \((x, y)\) 周围距离为 \(d(x, y) - 1\) 的地方都被填满了。

然后暴力扫,每次查询前将 \(d(x, y)\) 用周围的点更新。

\(O(nk)\)。

CF200E Tractor College

扩欧

分类讨论

\(x = x_0 + kp, y = y_0 - kq\)。

原函数可看作关于 \(k\) 的分段一次函数,因此把端点拿出来更新答案即可。

CF922F Divisibility

结论。找到使 \(f(I) \ge k\) 的最小整数 \(p\),\(I = (1, 2, \cdots, p)\)。

找不到就无解,找得到就如下构造方案:

从小到大尽可能选质数。

CF29E Quarrel

\(f(u1, u2) + 1 \to f(v1, v2), u1 \ne u2, v1 \ne v2\)。做到 \(O(n^4)\)。

还不会 \(O(n^3)\)。

CF125E MST Company

放到 wqs 学习笔记里。

标签:13,max,u1,ne,u2,2023.07
From: https://www.cnblogs.com/Schucking-Sattin/p/17552056.html

相关文章

  • ARC133F FWT 做法
    看见网上题解都是“二维生成函数”,就来传一下这个做法(问题可以转化为:\(n\)枚硬币,每次随机翻一枚,求最后正面朝上硬币个数的期望。把这个过程看作XOR卷积,并且需要卷积的两个数组有特性:在popcount相同的位置值相同。这样只要对这种特殊的数组能做fwt就做完了。于是现在要......
  • 2023-07-13 【动态规划】爬楼梯
    题目链接:爬楼梯详细:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬1或2个台阶。你有多少种不同的方法可以爬到楼顶呢?示例1:输入:n=2输出:2解释:有两种方法可以爬到楼顶。1阶+1阶2阶示例2:输入:n=3输出:3解释:有三种方法可以爬到楼顶。1阶......
  • 行业追踪,2023-07-13,新样式来了,更清晰地追踪行业趋势
    自动复盘2023-07-13凡所有相,皆是虚妄。若见诸相非相,即见如来。k线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让市场来告诉你跟踪板块总结:成交额超过100亿排名靠前,macd柱由绿转红成交量要大于均线有必要给每个行......
  • codeforces1311E
    题目链接sol:先建一条链,然后把下面的点一个个往上面移,优先移到最上面,如果上面满了就往下一层,知道刚刚好凑满距离,如果最后不能移了就说明不能凑出给定的距离#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefpair<int,int>pii;#definefifir......
  • 基于Qt的自动贩卖机系统[2023-07-13]
    基于Qt的自动贩卖机系统[2023-07-13]某公司请你为其生产的自动贩卖机编写软件。这种无人值守自动贩卖机贩卖价值为ABC三种商品,价格分别为2元,3元和6元。顾客投入10元的纸币,然后选择购买3种商品之一,自动贩卖机吐出商品,并且找给用户零钱。如果商品用完,或者无法找零,则给出用户一个提......
  • PHP 获取13位毫秒级时间戳
    $dateTime不传值取当前时间/***@parammixed$dateTime任意有效时间格式**@returnint*@throws\Exception*/functiongetMillisecond($dateTime=null):int{$microTime=$dateTime===null?microtime(true):(new\DateTime($dateTime))->getTimes......
  • 【雕爷学编程】Arduino动手做(138)---64位WS2812点阵屏模块8
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • newcoder61132F <结论:排序最小交换次数>
    题目松鼠排序n个不同的数,任意交换位置进行排序,其最小交换次数。思路结论:\(最小交换次数=n-r\),其中\(r\)为置换环个数。参考:https://www.cnblogs.com/CDOI-24374/p/16410082.html代码Code#include<iostream>#include<algorithm>#include<vector>#include<cstrin......
  • newcoder61132L <multiset 维护中位数>
    题目中位数多次询问,每次修改数组中一个数,问修改后n个数的中位数思路使用multiset,分别维护数组的较大的\(n/2+1\)个和较小的\(n/2\)个;根据数据范围,或许可用线段树+二分...代码Code#include<iostream>#include<algorithm>#include<vector>#include<cstring>......
  • newcoder61132D <最短路 二分答案>
    题目松鼠回家思路对n个结点的松果个数排序,二分最大松果个数check(x),跑最短路,在不访问比x松果个数多的节点的情况下,从起点到终点消耗的最小体力代码Code#include<iostream>#include<algorithm>#include<vector>#include<cstring>#include<queue>using......