首页 > 其他分享 >「2023/09/15」选拔练习1

「2023/09/15」选拔练习1

时间:2023-09-16 23:34:25浏览次数:34  
标签:题目 短路 09 给定 2023 15 times10 prod 复杂度

Vasya and a Tree

  • 题目描述:给定一颗n个点、点带权的树,根节点为1,初始时所有点的点权为0。有m次操作,每次操作给定三元组(v,d,x),将v子树中与v距离不超过d的所有点(包括点v)的点权加x。询问m次操作后所有点的点权。
  • 数据范围:\(1\le n,m\le 3\times10^5\)。

做的时候一直在想怎么用树上启发式合并做,没想到正解,实际上正解更简单。

一种很朴素的想法是利用一个累加Tag,在v处加上x,在v子树中所有距离为d+1的后代减去x,然后做一个树上前缀和即可。在此基础上,我们发现所有有用的信息都在每个点的深度上,而与具体的点关系不大,因此我们在dep[v]打上+x标记,在dep[v]+d-1打上-x标记即可。最后由于不同子树之间信息不相关,逆处理回溯一下就好。

根据上述思路,需要一个支持单点修改、求前缀和的数据结构,用树状数组就可轻松完成。

时间复杂度\(O(n\log n)\)。


Buy a Ticket

  • 题目描述:给定一个n个点m条边的无向图,点有点权\(a_i\),边有边权\(w_j\)。令d(x,y)表示点x到点y的最短路,对\(\forall i\in[1,n]\),求\(\min\limits_{j=1}^n\{2d(i,j)+a_j\}\)。
  • 数据范围:\(2 ≤ n ≤ 2\times10^5, 1 ≤ m ≤ 2\times10^5\)。

非常巧妙的建图方法。新建一个源点,对所有点连一条边权为\(a_i\)的边,再将原本的边权乘2,以源点为起点跑最短路即可。

一个突发奇想:如果不允许\(j=i\)的话,在做最短路的同时做次短路,如果最短路等于\(a_i\)就用次短路。

时间复杂度\(O((n+m)\log n)\)。


Counting Arrays

  • 题目描述:有q次询问,每次给定两个整数x和y,计算满足\(\prod_{i=1}^yf_i=x\)的序列\(\{f_n\}\)共有多少个(序列长为y,且\(\forall i\in[1,y],f_i\)是整数)。对于两个序列\(\{a_n\}\)和\(\{b_n\}\),两者不同当且仅当\(\exists i\in[1,y],a_i\ne b_i\)。答案对\(10^9+7\)取模。
  • 数据范围:\(1 ≤ q ≤ 10^5, 1 ≤ x, y ≤ 10^6\)。

首先解决正负数的问题,由于无论正负,都可以只乘一次就变成正,因此前(y-1)个数的符号可以任取,只需要最后一个数调整即可。因此我们可以只考虑正数,最后乘上\(2^{y-1}\)的系数即可。

这种类型的题目肯定与质因数分解有关,记\(x=\prod_{i=1}^mp_i^{k_i}\),由于质因数之间是独立的,可以将每个质因数单独考虑。对于\(p_i^{k_i}\),相当于把这\(k_i\)个数分配到\(y\)个位置上(根据题目说明是有序的\(y\)个位置),一个位置上可以没有数。那么根据隔板法,相当于(y-1)个隔板和\(k_i\)个数的组合数,即答案是\(C(k_i+y-1,y-1)\),总答案即为

\[2^{y-1}\prod_{i=1}^m\binom {k_i+y-1} {y-1} \]

时间复杂度\(O(q\sqrt x)\),可以用线性筛预处理一下大素数以防达到\(\sqrt x\)的上限。


关于组合数的一点复习:

  • n个相同小球放入m个不同盒子,允许空盒:C(n+m-1,m-1),不允许空盒:C(n-1,m-1)。

标签:题目,短路,09,给定,2023,15,times10,prod,复杂度
From: https://www.cnblogs.com/seketsu/p/17707525.html

相关文章

  • 2023.9.16
    今天想挨个找学长把我的之前的问题问清楚的,但是学长今天好像都有事,本来已经打算去问施润杰学长,结果在这之前我自己差不多把最关键的几个小问题想明白了,emmmm明天会继续到格式化字符串最后一个部分的学习,这些天加快速度,争取竞赛时能取得相较前几次较好的成绩。......
  • 2023年9月16日
    效果HTML<!DOCTYPEhtml><html> <head> <metacharset="utf-8"/> <title>2023年9月16日</title> <linkrel="stylesheet"href="./css/index_style.css"> </head> <body> <d......
  • 9月15日总结
    我刚刚看了一些关于静态数据和静态方法的用法的黑马教程。在静态方法中,只能访问静态成员,而非静态方法可以访问所有成员。静态方法中没有this关键字,它相当于对象调用函数时在函数的空括号内由虚拟机自动编写的调用对象的类型的this,可以看作是一个形参。另外,在一个类中,静态常量只需......
  • 字符串杂题20230916
    今天的题目没有那么难,挑一些不蛮板的题目来讲。建议不要光看,打个草稿画一下图,这个是解字符串题的关键。[POI2005]SZA-Template题目描述你打算在纸上印一串字母。为了完成这项工作,你决定刻一个印章。印章每使用一次,就会将印章上的所有字母印到纸上。同一个位置的相同字符可以......
  • csp-s2023第一轮游记
    记录一下高二最后一次参加的初赛。2023.9.10放完半天假回学校发现这周六就初赛了,开始稍稍紧张了,不过还是踢了会球,搞点whk,下午最后一节课就直接跑机房了2023.9.11~2023.9.14白天上文化课抓紧写whk,不过因为化竞考完了,又临近信竞初赛,金导(去年国一,今年化竞省一的大佬)稍显不正常,一......
  • 20230916打卡
    我今天和室友一起点了披萨吃,这是我第一次尝试披萨。披萨非常好吃,我们很快就把它吃完了。下午,我花了一些时间玩原神游戏。原神超级好玩,我喜欢其中的角色和探索剧情。在游戏中,我可以放松自己,探索美丽的游戏世界,并与其他玩家一起完成任务和挑战。原神给我带来了许多乐趣和刺激。晚......
  • CSP-S 2023 游记
    前言一万年没更博客了,今天写写游记。Day\(\bf{0}\)考前半个月内完全没复习,总计花了一小时做了两张很简单的卷子,然而只有\(90\pm2\)。Day\(\bf{\frac{1}{2}}\)早上十一点睡醒,打卡运势\(33\),群内最低。中饭去吃了吉祥馄饨,人品++。看了眼上午J组的题,不会union,不会哈夫......
  • 【游记】CSP2023游记
    初赛Day-1你说得对,但是原神4.1前瞻(然后非常极限地签了班里三个人的号(雾)J组模拟题感觉良好。搬了两道南外的题,一次性生成多组数据的写法真的香。初赛Day0午饭吃了压缩饼干,口感有点奇怪但是管饱。剩下一小块直接扔了(买了盒口香糖在车上分,进行一个RP的攒。车上和mrf......
  • 2023.9.16日报
    今天学习了springboot链接hive的相关知识,值得注意的是,使用了springboot之后增删改查变得相对容易但是存在的问题是之所以要使用springboot是因为直接用原生的javawebtomcat和hive的jdbc依赖存在冲突但是springboot是自带的tomcat因此不会产生冲突另外,关于hbase的使用也有所......
  • 《2023CSP-S第一轮(初赛)游记》2023.9.16
    菜是原罪从前有个流浪汉,他坐在那池塘旁,在一棵桉树的底下乘凉。他一边遥望一边歌唱,歌声在那池塘边上回荡,快来吧和我一起去流浪。流浪的人啊,流浪的人啊,我们一起走遍海角天涯,他一边遥望一边歌唱,歌声在那池塘边上回荡,快来吧和我一起去流浪。——《WaltzingMatilda》,澳大利亚民......