• Codeforces Round #545 (Div. 2)


    赛后惊觉对面学校的大佬正巧比我高4pts

    A. Sushi for Two

    题目大意

    给定一个只有1,2的数组。求最长的长度为$ans$的子段满足前后$ansover 2$部分各为不同的数字

    题目分析

    把相同数字的子段缩成一个点,再以相邻两两最小值取答案最大值。

    [枚举]B. Circus

    题目大意

    每一个位置有两个权值$t_i,a_i$。要求将n个数分为两部分${A},{B}$满足$sumlimits_{xin A}t_x=sumlimits_{yin B}a_y$,输出任意方案数。

    题目分析

    记00有$A$个,选$M$个;01有$B$个,选$N$个;10有$C$个,选$P$个;11有$D$个,选$Q$个。则有

    $egin{equation}
    left{
    egin{array}{lr}
    C+D=sum t_i\
    B+D=sum a_i \
    M+N+P+Q={nover 2}\
    P+Q=(B+D)-(N+Q)\end{array}
    ight.
    end{equation}$

    那么我们就首先枚举$M$再枚举$N$,时间复杂度$O(n^2)$

    听说有机房$O(n)$贪心于是全线红灿灿地FST?

    [离散化]C. Skyscrapers

    题目大意

    对于nxm的矩阵,现要求出每一个元素满足的最小x使得:用$[1,x]$的数对该元素所处十字上的所有元素重新标号,并保持它们的相对大小不变。$n,m≤1000$ 

    题目分析

    对于行列分开预处理离散化,记$idx,idy$为每一点在横纵两个方向上的排名。那么接下去就是稍微注意一下细节就行了:

    [kmp 贪心 构造]D. Camp Schedule

    题目大意

    给定字符串$S$和$T$,要求把$S$重新排列为$S'$使得$T$在$S'$中出现次数最多。要求输出最终的任意合法$S'$。$|S|,|T|≤500000$

    题目分析

    有显然的贪心:先求出$S$的最短不完全循环节,再按照这个循环节构造下去。关于这个“最短不完全循环节”详见bzoj1355.

    需要注意的是,这里的构造并不是以一整个循环节为单位的,也就是说正确的构造是应到只剩下0或1为止。如果单纯地puts一个个循环节,再将剩下的01随意输出,似乎是会FST的。

    [tarjan dp]E. Museums Tour

    题目大意

    还在读题ing
     
     

    后记

    话说这把没有挂题真是体验良好、值得庆贺。或许是这次时间比较特殊吧,于我而言稍些有利( 毕竟好几把夜间cf都是几近梦游);于整体而言压力也小(外校各路神仙似乎因为5:05这个尴尬的时间点而参赛不多 / 也可能因为全国OIer还还还在打div2的已经不多了……)所以最终成绩还是可以的。
    无论怎样,该高兴的还是得高兴;该清醒的还是得清醒吧。
    不多说了,明天一早还要考试呢。
  • 相关阅读:
    前端面试题总结(js、html、小程序、React、ES6、Vue、算法、全栈热门视频资源)
    steps 步骤条、时间轴
    碰撞检测经典解决方案
    延迟渲染(Deferred Shading)技术详解
    配备透明触摸屏 看3D全息投影概念手机
    预渲染技术
    APK改之理(APK IDE)修改APK简单的入门教程
    如何获取显卡的GPU占用率和显存占用情况
    图像编辑之对比度调整 亮度对比度的算法公式
    别被你的双眼所欺骗 100张神奇的视觉欺骗图
  • 原文地址:https://www.cnblogs.com/antiquality/p/10501112.html
Copyright © 2020-2023  润新知