省赛训练小记

记录一下这一个周做的一些题

  • HDU7146 枚举不在同一斜线/横线/竖线的两个点,然后暴力枚举这两个点所在直线的类型,求出交点就是中心点,判断是否合法即可

  • HDU7175 先跑最短路,得到可能在最短路图上的边构成了一个新图,由于有 0 边因此可能有环,缩点之后在 DAG 上 dp 即可

  • CF1746C & CF1656D 签到

  • HDU7214 枚举这个数字有多少次出现,然后只需要求出此时的方案数。设 dpi,j,0/1,0/1 代表考虑到第 i 位,当前这个数字出现了 j 次,上界/前导 0,转移是个大讨论

  • GYM103428M 将输赢放到网格上,输往上,赢往右,那么考虑对于每一个输的时候记一个 wi 表示这之前连续赢了几次。问题转化为 w1+..+wnm+1=m,且 maxwi=k,容斥一下转化为 maxwik,然后是一个经典子问题:y1+..+yn=m,0yik(y1+1)+..+(yn+1)=(m+n),1yik+1, 问方案数,这个子问题考虑容斥,每次枚举有 p 个位置超了 k+1,可以先填一个 k+1 然后和没事一样继续填数,这样就保证了一定是超了的。显然容斥之后得到了这个子问题的答案:i=0n(1)i×C(n,i)×C(m+n1i(k+1),n1),带回即可

  • LOJ10159 换根 dp 即可,每次维护以某个点为根的最大/次大深度即可

  • HDU7203 签到题,注意 a 是固定的,拿个 map 存即可

  • GYM102361D 签到题

  • GYM104337C 如果是 n×n 的话显然答案就是 n,否则剩下的 k 列(行同理)经观察发现这块就是 ceil(k/2)

  • GYM104337F 考虑 | 两端的回文半径构造即可

  • GYM104337H 将 degi 出现次数根号分治,小的部分用桶,大的暴力,小和大的连接用桶+暴力

  • GYM104337I 即求最小的 n,使得 lcm(p1,...,pm)|(1+..+n),首先可以用质因数分解求出 lcm,然后有 2×lcm|(n×(n+1)),由n,n+1 互质可以发现其包含的质因数都是无交集的,而 1e18 最多有 15 个质因子,因此我们可以枚举哪些质因子对应的是 n 的,剩下的必然是 n+1 的。具体的,假设:
    n0(modq1t1)...
    n0(modqktk)
    同时,有
    n1(modr1s1)...
    n1(modrpsp)
    其中 lcm=q1t1×...×qktk×r1s1×...rpsp
    则显然有 K×q1t1×..×qktk=n,和 I×r1s1×..×rpsp=(n+1)
    化简得 I×(r1s1×..×rpsp)K×(q1t1×..×qktk)=1,将 I,K 作为变量用扩欧即可

  • GYM104337J 贪心+优先队列

  • GYM104337K dp推导+数学归纳法可得答案是 (mim1)n

  • GYM104337M 签到题

  • HDU6235 签到题

  • HDU6240 分数规划首先二分答案,转化为 AiT×Bi0 的问题,首先将所有小于 0 的部分都加上,因为加上之后答案肯定不劣。然后考虑按照右端点从小到大扫,做 dp,设 dpi 表示考虑到第 i 个时刻的结果,那么对于当前的 [l,r],a,b 来说,答案肯定是 mindp[l1]..dp[r]+(aT×b) 用线段树/树状数组维护即可

  • HDU6231 考虑二分第 M 大的数 p,那么如果这个数是第 M 大,令 bi=[aip],则能推出 sum(b[l..r])k 的区间个数不会小于 M 个,用 two-pointers 解决,注意 M 可能会爆 int

  • HDU6230 先用 manacher 求出每个点的回文半径,注意到题目给的条件实际上就是 ij 为中心的回文串相交且交到 i+1 处。考虑倒序扫一遍,每次扫到 j 为中心的回文串时,就将 jR[j]+1 加上1,每次只需要统计 1..i 中有多少个 1,就代表了能和多少个回文串构成题目所求的回文串,用树状数组维护这个过程

  • HDU6241 二分答案,那么第二个条件可以变成子树内的特殊点应该 <=,可以树形 dp 记一下每次的最小值 & 最大值,然后和这个点对应的限制条件比一下。注意要判一下总共选的个数区间是否包含二分时的答案

  • HDU6242 傻逼题。每次随机三个点,由于题目中保证了存在圆使得包含一半结点,随机次数不会很多。被精度卡爆,不能开 long double,eps 要开到 1e-3.....

posted @   SkyRainWind  阅读(33)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示