zoukankan      html  css  js  c++  java
  • 省选模拟三十五题解

    昨天出去浪,今天发烧,考试虚的一批,暴力挂了2个,T3的性质猜出来了但是只打了50分,没有时间打满分

    T1

    假设现在删蓝树,in[x]代表dfs到x的最小时间戳,out代表最大

    那么一条原先删的边(p,q)会让蓝树里的(x,y)删掉当:

    (假设dfn[x]<dfn[y],dfn[p]<dfn[q])

    1>in[q]=<in[x]<=out[q]&&in[y]>out[q]

    2>in[q]=<in[y]<=out[q]&&in[y]<in[q]

    直接拿线段树维护即可

    T2

    首先点分治

    之后一条链的前缀和和另一条进行合并

    那么一定一个是它到根里最大,一个是最小

    之后我就不会了。。。

    T3

    结论是每个数不会超过两个质因子

    并且有两个的话一个是小于根号一个大于根号

    所以先把ans初始化为都选一个的

    之后S向小于根号的连边其他的向T的连边,容量为1,代价为0

    小于根号的向大于根号的连容量为1代价为calc(i,j)-calc(i)-calc(j)的边

    跑一个最大费用最大流即可

  • 相关阅读:
    树链剖分学习笔记(未完)
    VI 配置文件(略全)
    linux之awk
    指针之基础篇
    linux之sed
    sqlplus命令手册
    Leetcode复习: 堆和栈
    leetcode 的shell部分4道题整理
    Regular Expression Matching [leetcode]
    深入浅出JAVA
  • 原文地址:https://www.cnblogs.com/AthosD/p/12398330.html
Copyright © 2011-2022 走看看