zoukankan      html  css  js  c++  java
  • 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的已经不多了……)所以最终成绩还是可以的。
    无论怎样,该高兴的还是得高兴;该清醒的还是得清醒吧。
    不多说了,明天一早还要考试呢。
  • 相关阅读:
    Python中变量的作用域
    Python中关于函数的介绍
    python列表中的赋值与深浅拷贝
    Python中关于集合的介绍及用法
    python中文件操作的六种模式及对文件某一行进行修改的方法
    python中文件操作的其他方法
    python中文件操作的基本方法
    python中字符串的一些用法
    python里字典的用法介绍
    小谈python里 列表 的几种常用用法
  • 原文地址:https://www.cnblogs.com/antiquality/p/10501112.html
Copyright © 2011-2022 走看看