首页 > 其他分享 >2023 ICPC 合肥题解

2023 ICPC 合肥题解

时间:2024-09-04 20:52:49浏览次数:1  
标签:前缀 题解 大值 合法 枚举 端点 2023 ICPC 2k

gym


D. Balanced Array \(\star\)

赛时做法

枚举前缀维护合法的 \(k\)

感性上 \(k\) 越大需要满足的式子越少,只保留最大的 \(\log\) 个 \(k\),可以通过

std

枚举 \(k\),合法的 \(l\) 一定是一个左端点为 \(2k+1\) 的区间,二分右端点
等式 \(\forall1\le i\le l-2k,a_{i}+a_{i+2k}=2a_{i+k}\) 两边都是关于 \(a_i\) 的线性函数,等价于判断 \(hash(1,l-2k)+hash(1+2k,l)=2hash(1+k,l-k)\)

从小到大枚举 \(k\),对应合法区间的左端点递增,某种意义上可以看作对应一个合法前缀。维护已知合法的最长前缀 \(l\),尝试用当前 \(k\) 延申 \(l\)
时间复杂度 \(O(n)\)

K. Campus Partition \(\star\)

“连通块次大值”是难以刻画的信息,注意到可以只保留最大值到次大值的链,转化为“链端点较小值”

考虑 dp,在 lca 处合并链。设 \(f[u,i]\) 表示子树 \(u\)、经过 \(u\) 的链一端权值为 \(i\) 的答案,\(g[u]\) 为子树 \(u\) 的答案

\[f[u,i]=\max(f[u,i]+g[v],\sum_{w\text{ is }u\text{'s son before }v}g[w]+f[v,i]) \]

\[g[u]=\max(g[u]+g[v],f[u,i]+f[v,j]+\min(i,j)) \]

线段树合并维护

code

标签:前缀,题解,大值,合法,枚举,端点,2023,ICPC,2k
From: https://www.cnblogs.com/ft61/p/18393689

相关文章

  • Codeforces Round 971 (Div. 4) ABCD题详细题解(C++,Python)
    前言:    本文为CodeforcesRound971(Div.4)ABCD题的题解,包含C++,Python语言描述,觉得有帮助或者写的不错可以点个赞    比赛打了没一半突然unrated了就不是很想继续写了,早起写个题解    (之前的div3也没复盘,哎真菜)目录题A:题目大意和解题......
  • AtCoder Beginner Contest 369 题ABCD详细题解--包含解题思路和两种语言(C++,Python)
    前言:    本文为AtCoderBeginnerContest369题ABCD详细题解,包括题目大意,详细的解题思路和两种语言描述,觉的有帮助或者写的不错可以点个赞几天前的比赛拖的有点久了比赛题目连接:Tasks-AtCoderBeginnerContest369目录题A:题目大意和解题思路:代码(C++):......
  • 洛谷 B3645 数列前缀和 2 题解
    前缀知识:枚举,费马小定理,逆元,线性乘法逆元,线段树(?)。解法1:暴力如题。暴力枚举即可,30分。由于太简单,不给代码。解法2:前缀积+费马小定理+逆元由于涉及静态区间,可以想到前缀积。前缀积公式为\(q_r/q_{l-1}\),除法恰好可以用逆元来算。直接写即可。不会超时,因为时间为\(O(n\logp)\)......
  • Codeforces Round 971 (Div. 4) E 题解析
    #E题Klee'sSUPERDUPERLARGEArray!!!题目描述思路:对于这道题,首先观察到题目求的是最小可能值,而且数据的范围是1e9范围,所以首先可以考虑的方法就是O(logn)的方法,而适合求最值的方法无疑就是二分搜索,可以通过二分来不断缩小答案的区间......
  • 常见问题解决 --- 如何给一个不支持配置代理的程序抓取https流量数据
    比如我有一个C#编写票务系统,它内嵌浏览器功能,我想抓取它的流量,但是这个客户端不支持配置代理设置解决办法:1.安装配置proxifier开启全局代理服务。安装好后网上有激活码激活一下,点击profile-proxyserver,添加一个代理服务器127.0.0.1,端口8080,协议https。点击profile-proxifi......
  • 历年CSP-J初赛真题解析 | 2017年CSP-J初赛阅读程序(23-26)
    学习C++从娃娃抓起!记录下CSP-J备考学习过程中的题目,记录每一个瞬间。附上汇总贴:历年CSP-J初赛真题解析|汇总_热爱编程的通信人的博客-CSDN博客#include<iostream>usingnamespacestd;intmain(){ intt[256]; strings; inti; cin>>s; for(i=0;i<256;i......
  • 2024年“羊城杯”粤港澳大湾区网络安全大赛 初赛 Web&数据安全&AI 题解WriteUp
    文章首发于【先知社区】:https://xz.aliyun.com/t/15442LyricsForYou题目描述:Ihavewrotesomelyricsforyou…开题。看一下前端源码,猜测有路径穿越漏洞http://139.155.126.78:35502/lyrics?lyrics=../../../../../etc/passwd简单看一下环境变量,没有flag。扫......
  • 中国电子学会Python3级等级考试202403编程题解析1
    1编程题目整数问题给定一个十进制整数n,求出从1到n的所有整数中出现“1”的个数。例如,n=2时,1,2出现1个“1”。n=12时,1,2,3,4,5,6,7,8,9,10,11,12,出现5个“1”。现编写一个程序,实现如下功能:输入整数n,执行程序后,输出该范围内出现“1”的个数。请完善程序。图1要完善的程序......
  • .net 使用IAsyncResultFilter或IResultFilter 进行restful统一风格在swagger ui中不显
    1.现实swaggerIOperationFilter 过滤器接口publicclassSwaggerOperationFilter:IOperationFilter{privatereadonlyISchemaGenerator_schemaGenerator;publicSwaggerOperationFilter(ISchemaGeneratorschemaGenerator){_schemaGenerator=......
  • 打卡信奥刷题(696)用Scratch图形化工具信奥B3922[普及组/提高] [GESP202312 一级] 小杨
    [GESP202312一级]小杨报数题目描述小杨需要从111到NNN报数......