首页 > 其他分享 >2024.10.23训练记录

2024.10.23训练记录

时间:2024-10-23 21:01:09浏览次数:1  
标签:2024.10 终点 子树内 训练 23 取整 节点

上午 NOIP模拟

A

简单题。
类比树状数组,反向做二维前缀和。

在数组中对于左上角为{x_1, y_1},右下角为{x_2, y_2}的矩阵实现+k操作。
只需要在{x_1, y_1},{x_2 + 1, y_2 + 1}位置+k,{x_2 + 1, y_1},{x_1, y_2 + 1}位置-k。
最后再做一遍二维前缀和。

很好想到的。想到是应该的。
考试的时候没怎么浪费时间在这道题上。这是最好的。

B

可以直接做dp,考虑钦定f[i]为所有终点在i子树内的人都已经在点i上时,送完这些人再回到这个端点的最小步数。
运送一些人的车班数就是上取整。

另外一个写起来更简单的方法是:因为每个人中途可以不限次数放下。所以将一条路径[a_i, b_i]拆成路径上的每条边都要有一个学生走过。
这样树上差分后可以知道每条边被几个学生走过。
因为保证了b_i是a_i子树内的节点,所以学生都只会向下走。
每条边被学生经过的次数除以摆渡车容量的上取整就是车经过这条边的次数。
因为车要返回所以乘以2。
注意到车是从1出发,所以会经过所有子树内有乘客的点。
可以想象每个终点向根节点连一条链的并,这就是所有车会经过的边。
这些边中,没有送客需求的也会被走至少两次。

容易想到,因为不用回到根节点,所以挑一条最长的链留在它的终点。
这样统计答案就行了。

考场这题一点都没想到,说实话有一点被n\leq 200的部分分误导了。
三方的dp,就想把m、l都设进状态里,然后就觉得处理起来很麻烦,不会转移。
其实对于容量的处理就是除完上取整这种简洁的形式。

标签:2024.10,终点,子树内,训练,23,取整,节点
From: https://www.cnblogs.com/docxjun/p/18498329

相关文章

  • 20241023 模拟赛总结
    期望得分:100+100+0+20=220实际得分:100+0+0+0=100(满昏)这算哪门子信心赛……分挂没了,懒得喷。T1人机分类讨论题。T2一眼二分答案,二分最终的最小的最大值,记bi表示把i这个位置加到至少ai需要多少次,然后手玩不知道多少组发现每个位置至少要操作一次,那机器人的启动位置是无......
  • 2024.10.23 在不同的阶段反复爱上罗大佑的词曲
      我这一生真是会在不同阶段,反复爱上罗大佑这位音乐人.  小时候听的《童年》,长大之后才知道是写给已经失去童年的人的,没有办法让孩子真正听懂。  后来逐渐地,求学于鳌峰时,在《滚滚红尘》中听出了来易来去难去,分易分聚难聚;求学于石室时,从《鹿港小镇》中听出了台北不是......
  • 代码随想录算法训练营 | 岛屿数量 深搜,岛屿数量 广搜,岛屿的最大面积
    岛屿数量深搜题目链接:岛屿数量深搜文档讲解︰代码随想录(programmercarl.com)日期:2024-10-23想法:Java代码如下:importjava.util.Scanner;publicclassMain{publicstaticint[][]dir={{0,1},{1,0},{-1,0},{0,-1}};publicstaticvoiddfs(boolean[][]v......
  • 2024.6.23
    2024.6.22T1题面给\(n\)个数,求他们的最小公倍数对\(10^9+7\)取模的结果。\(1\len\le10^3\)解法用\(\prodp^{\max}\)计算T2题面在\(n\timesn\)的地图上有若干\(1\timesk\(k>1)\)的长条,竖着的只能竖向移动,横着的只能横向移动,一号一定横着,长条不能越过,求......
  • 2024/10/23 模拟赛总结
    \(100+55+30+0=185\),T4没有-1唐完了#A.GCD把\(1\sim50\)的\(f\)打表输出,可以找到规律:若\(x\)为\(p^k(k\in\mathbb{N}^+,p\in\mathcal{P})\),则\(f(x)=p\),否则\(f(x)=1\)于是可以筛出所有质数并枚举指数//BLuemoon_#include<bits/stdc++.h>usingnamespaces......
  • 10.23 记录
    一些鲜花:自从zcl把我加到了高一小朋友们的团队里,我就能在机房听到一些关键词,包括但不限于:“bug是谁”“M-o-y-y-e-r-s-u-i-y”(大声的念id)“真不愧时他的儿子!”刚才发了一本鸭子的《CSP防爆0手册》,看得津津有味。今天一天没干啥,一个是补了昨天的题。zcl给我讲了t2......
  • 2024/10/23日 日志--》关于Maven的基础学习--2 坐标与依赖范围
    对Maven的学习即将步入卫生,下面是Maven中的坐标和依赖范围的简单笔记点击查看代码--Maven坐标详解--·什么是坐标?---》Maven中的坐标是资源的唯一标识---》使用坐标来定义项目或引入项目中需要的依赖--·Maven坐标的主要组成---》groupld:定义当前Maven项目隶......
  • 10.22-10.23
    A.异或和CF1261F做过类似的题的话,\(O(n^2\log^2v\log(n^2\log^2v))\)应该算是暴力分了。显然这过不了,不然就不是*3100了。主要的瓶颈在于异或完后产生了大量的线段,而且里面大多数是没用的。于是赛时写出了一个绝唐的优化点击查看代码for(inti=0;i<seg[0].size();......
  • 2024-10-23:最高频率的 ID。用go语言,给定两个长度相等的整数数组 nums 和 freq, 其中num
    2024-10-23:最高频率的ID。用go语言,给定两个长度相等的整数数组nums和freq,其中nums中的每个元素表示一个ID,而freq中的每个元素表示对应ID在此次操作后出现的次数变化。如果freq[i]为正数,则表示在这次操作中nums[i]的ID会增加freq[i]次;如果freq[i]为负数,则表示在这次操作中nums[i......
  • 代码训练营第22天|补第9天的KMP算法,28. 找出字符串中第一个匹配项的下标|459.重复的子
    前置知识文章链接:https://programmercarl.com/0028.实现strStr.html#思路KMP的经典思想就是:当出现字符串不匹配时,可以记录一部分之前已经匹配的文本内容,利用这些信息避免从头再去做匹配。前缀表:next数组就是一个前缀表(prefixtable)。前缀表是用来回退的,它记录了模式串与主......