首页 > 其他分享 >20220926 ICPC 网络赛

20220926 ICPC 网络赛

时间:2022-09-28 11:34:53浏览次数:86  
标签:贡献 20220926 网络 dfs times 即可 区间 考虑 ICPC

队长生病了没来,和 wwj 两个人打了一把,过了 8 题,勉勉强强。

A Yet Another Remainder

当 \(n\ge p-1\) 时,根据费马小定理,只需要对前 \(p-1\) 个位置询问每次跳 \(p-1\) 步得到的和是多少,单次询问时间复杂度 \(O(p)\) 。当 \(n<p-1\) 时,从后往前暴力确定每个数,单次询问时间复杂度 \(O(n\log n)\) 。

B Non-decreasing Array

对于第一步操作,显然是能删就删收益最大,而对于第二步操作,显然是把 \(a_i\) 改成 \(a_{i-1}\) 或者 \(a_{i+1}\) 收益最大,这也等价于将 \(a_i\) 删掉。于是问题转化为每次操作可以删掉两个数,问最后的最大收益。设 \(dp(i,j)\) 表示只考虑 \(1\sim i\) 这 \(i\) 个数,删掉其中 \(j\) 个数(不能删 \(1\) 和 \(i\) )时的最大收益即可,时间复杂度 \(O(n^3)\) 。

G Good Permutation

先考虑没有区间相互包含的情况,即给出的区间都是两两相离的。记给出 \(m\) 个区间,第 \(i\) 个区间的长度为 \(x_i\) ,这些区间的总长为 \(s\) 。

考虑如何计算给这些区间分配数的方案数,发现只需要在值域 \(1,2,3,\dots n\) 这个序列上确定第一个区间的位置以及相邻两个区间间隔的距离,再将这些区间确定一个顺序依次放上去即可,方案数为 \(m!\times \binom{n-s+m}{m}\) ,再乘上这些区间外的方案数 \((n-s)!\) 与每个区间内部的方案数 \(\prod x_i!\) 。

现在考虑每个区间内部可能还有其他区间的限制,不难发现其他部分方案数是一样的,只需要把 \(\prod x_i!\) 换成每个区间内部的方案数,而这是一个子问题。对每个区间预处理出包含它的最小区间,于是区间加上 \([1,n]\) 形成了一个树形结构,在树上进行一次 dfs 即可算出答案。

H Communication Station

考虑点对 \((u,v)\) 之间的贡献,记它们之间的距离为 \(d\) ,除掉 \(u\) 到 \(v\) 这条链还有 \(m=n-d-1\) 个点,则贡献为 \(d\times (m+4)\times 2^{m-1}\) ,可以写成 \(\frac{1}{4}\times P(d)\times 2^{n-d}\) 的形式,其中 \(P(d)\) 是一个关于 \(d\) 的二次多项式。

考虑 dfs 遍历每个点作为 \(u\) ,换根的过程中某个子树内的 \(d\) 全部减 1,其余点的 \(d\) 全部加 1,用一棵线段树维护每个点作为 \(v\) 的贡献即可。

J A Game about Increasing Sequences

满足严格上升的取数序列数目不会很多,dfs 爆搜即可。

K Black and White Painting

由于圆和正方形的中心都在整点处,于是两个图形之间有交的情况是有限的,枚举一个图形 \(i\) ,如果是正方形,将它的边分成 8 份,如果是圆,将它的圆周分成 12 份,再枚举一个其他图形 \(j\) ,讨论所有情况,检查 \(i\) 的哪些边/圆周会被 \(j\) 覆盖掉,最后考虑了所有图形后仍未被覆盖的部分就是 \(i\) 对答案的贡献。

注意两个正方形可能会出现共用一部分边贡献到答案的情况,可以规定编号小的覆盖掉编号大的,避免重算漏算。

L Quadruple

如果确定了字符 I 的位置与字符 P 的位置,那么它们的贡献只和 C 的个数前缀和有关,将式子拆开后全部用前缀和进行处理即可。具体可以参考 autoint 的博客

标签:贡献,20220926,网络,dfs,times,即可,区间,考虑,ICPC
From: https://www.cnblogs.com/jklover/p/16737388.html

相关文章

  • 7、caffe之train函数片段之初始网络开始
    当运行下列命令的时候ubuntu@ubuntu:~/caffe$./examples/mnist/train_lenet.sh这是脚本train_lenet.sh命令行(如果只有cpu需要修改这个文件的lenet_solver.prototxt,选择......
  • 计算机网络自顶向下方法第二章——应用层
    应用层协议管理研发网络应用程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序。看清楚:不同的端系统,说明一个问题,应用程序不需要去管理怎么传送数据......
  • TKK: 更新 TKK 失败,请检查网络连接
    方法一(亲测有效)文件路径        ------------------------C:\Windows\System32\drivers\etc加入以下两行地址203.208.40.66translate.google.com203.......
  • Visual Studio Installer 下载网络连接失败问题的解决办法
    VisualStudioInstaller下载网络连接失败问题的解决办法网络连接失败,出现的问题情况如下图:     进度卡在0然后报网络错误退出。解决办法第一步:查询aka.m......
  • 网络地图数据采集
       做地图程序最主要的就是先有数据,对于一些非商业化的应用,可以使用一些工具,从互联网上进行地图下载。   常用的下载工具有全能地图下载器、太乐地图、水经注等......
  • Linux网络日志分析与流量监控 pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1OG-5_4ebMeQjSUeO_3l-IA点击这里获取提取码 ......
  • UNIX网络编程 卷1 套接字联网API pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1myJIO8uvfssIkwiK-63Agg点击这里获取提取码 ......
  • 图的表示:如何存储微博、微信等社交网络中的好友关系?
    地址:https://time.geekbang.org/column/article/70537目录如何理解“图”?图的种类无向图有向图带权图存储方式邻接矩阵存储方法邻接表存储方法总结图。实际上,涉及图的算......
  • Qt实战15.构建网络拓扑图
    1需求描述基于Qt图形视图框架开发一个网络拓扑模块,用于可视化展示、控制HUB(类似于交换机)与NODE(类似于连接到交换机上的设备)的关系网路。2设计思路先来看个图:这里将......
  • 《计算机网络》第一章学习随笔
    前言:本随笔是根据B站王道计算机考研课程学习而写的笔记。如果有意见和建议,欢迎留言批评与指正。1.1.1概念、组成、分类和功能计算机网络:是一个将分散的、具有独立功能......