首页 > 其他分享 >2024.4.28 近期练习

2024.4.28 近期练习

时间:2024-04-28 22:22:05浏览次数:16  
标签:二分 2024.4 sum 练习 28 一棵树 times 最小值 线段

P6619 [省选联考 2020 A/B 卷] 冰火战士

对于一次战斗,冰火两方能量较少的那方会耗尽,答案为这个能量的两倍。
我们就是要找一个中间值,左边的冰战士能量值之和与右边火战士能量值之和最小值最大。
离散化,我们可以二分找到第一个冰的前缀和大于火的后缀和的位置 \(p\),答案为 \(p-1\) 或 \(p\)。
怎么二分呢,考虑线段树上二分,然而常数过大,改成树状数组上倍增。

P2221 [HAOI2012] 高速公路

一般两两点的距离之和都是依靠计算边的贡献。于是我们求 \(\sum_{i=l}^{r-1}c_i \times (i-l+1)\times(r-i)\)。
拆式子 \(\sum_{i=l}^{r-1}c_i \times (ir-lr+r-i^2+il-i)\),所以我们线段树维护 \(\sum c_ii^2,\sum c_i i,\sum c_i\) 即可。
线段树模板。

P4899 [IOI2018] werewolf 狼人

对于每个询问,我们找到一个 \(x\),使得 \(s\to x\) 路径上最小值 \(> l\),且 \(x\to t\) 路径最大值 \(<r\).
一个路径上最大值最小值考虑用 kruskal 重构树。
我们发现 \(s\) 点和 \(t\) 点,各找到有一个子树的 \(x\) 满足条件,然后如何判断有无交集呢?
我们扫描线,枚举其中一棵树的子树,用树状数组维护另一棵树哪一些点在前一棵树的子树里。

标签:二分,2024.4,sum,练习,28,一棵树,times,最小值,线段
From: https://www.cnblogs.com/Simon-Gao/p/18164630

相关文章

  • 猿人学内部练习平台第16题
    第16题:表情包+sojson6.0抓包分析可知,需逆向safe参数,根据调用堆栈很容易找到safe的生成位置,如下:上方有一段特殊字符组成的内容,查看上下文并未找到token,因此token很可能是这段特殊字符构成的代码生成的,单步调试可以发现,上面是在进行赋值操作,最后一行很长的那一行是进行一些函数执......
  • Ubuntu22.04 搭建Kubernetes 1.28版本集群
    依赖安装准备工作需要在所有节点上进行。安装ssh服务安装 openssh-serversudoapt-getinstallopenssh-server修改配置文件vim/etc/ssh/sshd_config找到配置项LoginGraceTime120PermitRootLoginprohibit-passwordStrictModesyes把 prohibit-password ......
  • 4.28
    我给你瘦落的街道、绝望的落日、荒郊的月亮。我给你一个久久地望着孤月的人的悲哀。我给你我已死去的祖辈,后人们用大理石祭奠的先魂我父亲的父亲,阵亡于布宜诺斯艾利斯的边境,两颗子弹射穿了他的胸膛,死的时候蓄着胡子,尸体被士兵们用牛皮裹起;我母亲的祖父——那年才二十四岁——......
  • 20240428
    我大抵是病了吧。本来应该昨天写的,但是昨天颓废去了没来得及写。下文的内容可能有些hentai(或者说不正常),如有不适请立即退出。我前天晚上做了一个梦。梦很短(感觉是吧),发生了什么也记不太清了。但是有几个要素我还是记得的:场景是在hf校门口,我自己还是个女的(汗)。(为什么我在......
  • HDLBits练习:Countbcd
    目录题目代码解法一解法二解法三题目题目链接:Countbcd题目让写一个四位的BCD计数器,可以等价看成0000~9999的计数器,进位规则和我们日常的十进制计数一样。代码解法一通过例化或者修改一位的十进制计数器实现有关ena信号的处理部分,其实是与clk信号无关的;但是,也可以根据clk......
  • 脚本语言系列之Python | python练习题最全题库(1)
    脚本语言系列之Python|python练习题最全题库(1)脚本语言系列之Python|python练习题最全题库(1) 精选python语言基础的填空题400+,并附有答案,初学者一定要刷一遍。刷题前,可以先看一遍基础知识点,已梳理好,移步:测试allen说:脚本语言系列之Python|系列文章传送门这......
  • VS和jetbrains比较容易忘记的几个快捷键(更新至20230428)
    //PS:这几个是我经常忘记的,记录一下,//         暂时只记录用到的,其他的用到后再去补充添加,后面会陆续补充。 VS2022Ctrl+T :在所有代码里面搜索的快捷键,(不是Ctrl+Q)快速搜索并定位文件名称的快捷:在当前文件快速搜索函数名称的快捷键: JetBrains在所有......
  • [Python急救站]人脸识别技术练习
    这段时间做了一个用于初学者学习人脸识别系统的程序,在上代码时,先给说说事前准备:首先我们需要一个OpenCV的一个haarcascade_frontalface_default.xml文件,只要去GitHub上面即可下载:https://github.com/opencv/opencv点击Code,选择DownloadZIP,下载后解压在目录下opencv-4.x\data\ha......
  • ABC 288 D - Range Add Query
    题目链接:设\(a[i]\)表示下标对\(k\)取模为\(i\)的所有数的和。那每次操作就是将数组\(a\)的所有数都加\(c\)。最终为\(0\)的充分必要条件就是\(a\)的所有数都是一样的。因此,对于每组询问,统计\([l,r]\)中数字下标对\(k\)取模的所有数的和,看看是否为同一个数即可......
  • 力扣练习-动态规划
    线性DP3122.使矩阵满足条件的最少操作次数classSolution{/*问题分类:线性DP问题1.每一列元素值相同,相邻列元素值不同,考虑按照列进行状态枚举枚举2.0<=grid[i][j]<=9,值的范围很小只有10个3.f[i][j]可以为考虑前i列并且第i列元素为......