zoukankan      html  css  js  c++  java
  • CF 题解乱写

    2021.9.23

    昨晚由于不明原因所以觉得今天请假军训去实验室划水

    https://codeforces.com/gym/103202/problem/I

    考虑把时针和分针每分钟转过的角度同时乘以 $ frac{HM}{2Pi } $

    所以现在要统计0<=t<HM

    t*(H-1)  mod HM <=A         以及    t*(H-1)  mod HM >=HM-A

    发现t连续且取遍模数

    设G=gcd(H-1,HM)

    式子左右两边同时除以G

    t*(H-1)/G mod HM/G<=A/G

    每个循环有HM/G个,其中每个循环贡献A/G+1次(下取整)

    共有G个循环

    ans=G(A/G*2+1)

    https://codeforces.com/gym/103202/problem/D

    设r为1,b为0

    记录一个前缀和sum

    [l,r]对答案有贡献则说明sum[r]与sum[l-1]奇偶性不同

    显然最大的答案即0,1尽量数量相同

    100个方案且保证字典序考虑爆搜剪枝

    https://codeforces.com/contest/1573/problem/E

    每种颜色最多有20个位置,是个很好的性质

    考虑一个长度为len序列最差可以通过len-1次操作变为同一颜色

    基于上述

    设dp[l][r]代表使[l,r]变为同一颜色可以节省的最多次数

    两种转移

    dp[l][r]=dp[l+1][r]

    dp[l][r]=max(1+dp[l+1][k]+dp[k+1][r])  (a[l]=a[k])

    即l,k颜色相同,只用一次操作把中间的变为a[l]

    https://codeforces.com/contest/1573/problem/F

    对于两个可以配对的点

    他们一定有且只有一位不同

    所以他们的1的数量的奇偶性不同

    原图便成为了一个二分图

    显然边的数量过多,只需要2nk条最长的边即可

    卡常了?(确信

    2021.9.24

    通过不明手段套了考勤人员的近乎所以就逃训了

    https://codeforces.com/gym/103104/problem/I

    A,B为x,L,R为y转化为矩阵

    即n*n矩阵ban掉一些点

    求合法矩阵方案数

    考虑用单调栈维护up[i][j]代表(i,j)向上最远可以延申几个

    维护a单调递减的栈即可用新的a[i][j]和栈顶的位置更新答案

    https://codeforces.com/gym/103104/problem/D

    枚举值域区间[L,R]

    在原序列上必须是小于等于两段的区间

    可以O(1)更新答案

    https://codeforces.com/gym/345274/problem/C

    长度为n的序列

    要求取出一或两段区间

    要求区间并之后没有颜色重复

    最大化并之后的长度

    很显然的一个思路是枚举第一个区间

    用set维护出现过的颜色对应的所有位置和两个位置之间的最大长度

    问题在于这段长度对应的区间[L,R]可能自身存在重复的颜色

    设dp[L][R]代表[L,R]最长的合法区间的长度

    可以$O(n^2)$预处理出来

    这样维护dp值而不是区间长度即可

    https://codeforces.com/gym/345274/problem/G

    按边权排序

    每次合并两个连通块

    建一个虚点

    让两个根作为儿子

    每次查询相当于查一个子树的众数

    可以启发式合并解决

    https://codeforces.com/gym/103202/problem/M

    给n个长度为m的01字符串

    问有多少个位置的集合S

    满足至少有k对字符串在S中的位置不安全相同

    m<=20

    n<=1e5

    设$f[S]$代表字符串中为$S$的个数

    $g[S]=sum_{x,y,x Xor y=S} f[x]*f[y]$

    可以FWT做

    $h[S]=sum_{x,x And S!=0} g[x]$

    $h[S]=n^2-sum_{x,x And S==0}g[x]$

    高维前缀和即可

    一个无向图

    n<=300

    对于每个点求出包含这个点的最小环的长度

    直接跑最短路,然后枚举两个点且连边会有一个问题就是无法解决经过重边

    考虑对于每个点建出一棵最短路树

    一个合法的环一定是树上两个lca是根的点到根的距离和加上两点之间的边

  • 相关阅读:
    Nim or not Nim? hdu3032 SG值打表找规律
    Maximum 贪心
    The Super Powers
    LCM Cardinality 暴力
    Longge's problem poj2480 欧拉函数,gcd
    GCD hdu2588
    Perfect Pth Powers poj1730
    6656 Watching the Kangaroo
    yield 小用
    wpf DropDownButton 源码
  • 原文地址:https://www.cnblogs.com/AthosD/p/15327306.html
Copyright © 2011-2022 走看看