zoukankan      html  css  js  c++  java
  • 模拟测试20191024

    $T1:表达式密码$

    刚开始以为有括号和乘除是道大神题

    然后发现是只有加减的傻逼题

    扫一遍就好了

     

    $T2:电压机制$

    考场上$yy$出来很多奇奇怪怪的结论

    比如缩完边双之后至多有一个边双含奇环才合法,一个边双中不被奇环包含的都合法

    然而事后发现都和正解没什么关系(因为好像没有快速判断一条边是否在偶环的方法

    正解挺神仙的(至少$蒟蒻mikufun$是这么觉得

    我们先跑出原图的一棵生成树

    由于我们用$dfs$跑生成树所以不存在横跨边只存在反祖边

    考虑反祖边和树边形成的环,设$odd_{i}$表示经过i的奇环的差分数组,$even_{i}$表示偶环的差分数组

    对于一条反祖边$u ightarrow v$

    如果形成奇环,则$odd_{u}++,odd_{v}--$

    如果形成偶环,则$even_{u}++,even_{v}--$

    同时记录一下每条非树边形成的是奇环还是偶环

    最后把差分合并,如果一条边的$odd==奇环数量$且$even==0$,则$ans++$

     

    T3:括号匹配

    $%%%WWB、YXM$钛聚啦

    考场上除了模拟什么也想不到,而且还不知道怎么处理$cap$和$cup$

    其实很显然的结论是:两个相交的区间$L_{ i }<L_{ j }≤R_{ i }<R_{ j }$可以拆成$[L_{ i },L_{ j }-1], [L_{ j },R_{ i }], [R_{ i }+1,R_{ j }]$三个区间

    两个包含的区间$L_{ i }<L_{ j }≤R_{ j }<R_{ i }$可以拆成$[L_{j},R_{j}],[L_{i},L_{j}-1]cup [R_{j}+1,R_{i}]$两个区间

    设每个区间缺少的'('为$ndl$,缺少的')'为$ndr$

    扫每个区间首先我们让区间内自我匹配,贡献为$frac{min(ndl,ndr)+1}{2}$

    然后考虑区间间的括号交换,显然一个区间需要$frac{abs(ndl-ndr)}{2}$个左/右括号

    同时记录$LNEED$表示当前剩余的左括号,$RNEED$表示当前剩余的右括号

    每次根据需要的和两个变量讨论一下就好了

     

  • 相关阅读:
    使用事件模式(Event API)读取Excel2007(.xlsx)文件
    rocketMq消息的发送和消息消费
    Java 七牛云存储与下载
    Spring boot + Jpa + Maven + Mysql 初级整合
    Spring+SpringMvc+Hibernate整合记录
    Mybatis-Generator自动生成代码
    idea spring+springmvc+mybatis环境配置整合详解
    Linux下安装redis
    SpringMvc的基础配置<一>
    JAVA从本机获取IP地址
  • 原文地址:https://www.cnblogs.com/mikufun-hzoi-cpp/p/11733369.html
Copyright © 2011-2022 走看看