zoukankan      html  css  js  c++  java
  • 2019.11.12&13题解

    写在前面:

    虽然拿到了rk1,但是T3被卡常TLE90分,(考后再交就A了!?),lemon80,又丢失了一次良好的AK机会,

    掐头去尾距离联赛仅剩2天,最近中午一直睡不好,可能是有些紧张,

    希望自己接下来几天能放平心态,从吾心,尽吾力就好。

    A. 装饰

    标签:

    规律

    题解:

    假设a为最大值

    1>a<=2*(b+c) ans=(a+b+c)/3

    这种情况下不会出现a 0 0的情况,答案就是(a+b+c)/3

    2>otherwise ans=b+c

    反之,最多b+c次之后就会用完b,c,所以ans=b+c

    B. 循环依赖

    标签:

    读入+Top

    题解:

    这题能读进来就是个Top模板题,然而有许多dalao因读入挂了100分

    C. 任务分配

    标签:

    最短路+Dp

    题解:

    首先求去正反最短路之后设a[i]=dis[0][i]+dis[1][i],则考虑把a从小到大排序,则有以下性质:

    性质1:子项目对应的点一定连续

    性质2:子项目分出的区间一定单调不增

    Day2

    写在前面:

    比赛结束后波波老师打开result...

    啊?这是今天的榜吗,怎么又rk1了,T2不是伪了吗,怎么AC了?

    A. ZYB建围墙

    标签:

    规律

    题解:

    我在考场上找到了一个不能证明的规律:新加一个点的代价是(3-它周围的点的个数)

    所以点越集中越好,考虑二分完整6边形的长度k,之后把剩余的加在其周围,

    剩余的第一个需要外加1,并且代价是1,0,0,0,1,0,0,0...循环节为k+1

    所以便有:ans=6*(k+1)+(m!=0)+m/(k+1)

    B. ZYB和售货机

    标签:

    基环内向树

    题解:

    首先可以把所以的i全部用最优非负转移点(设为g[i])转移a[i]-1次,之后考虑把i向g[i]建边

    发现建出的图是基环树森林,首先用Top把树的枝叶全部撸掉,贡献直接加上与原先一样,

    之后枚举环上的点,找出最小断环代价即可

    考场上我觉得树之间的最小断环代价可能会出环,但是我忽略了一个优美的性质,

    每个点的入度出度都不可能超过1,所以次大转移点不可能是另一棵树的环,这样转移就不会出环

    C. ZYB玩字符串

    标签:

    区间Dp

    题解:

    这道题的Dp定义挺新颖的:

    设f[i][j]代表[i,j]是否可以被消成p的前缀(可以为空),这样转移的复杂度将会大大降低

    考虑j的身份转移:

    1>j与前面的零碎构成p的前缀:f[i][j]|=f[i][j-1]&(s[j]==s[i+(j-i)%len+1])

    2>j是整块的:f[i][j]|=f[i][j-k*len]&f[j-k*len+1][j]

    加几个DeepinC所讲的剪枝:len能否整除n,map记忆化,[L,R]26个字母个数是不是分别整除[1,n]26个字母的个数...就可以通过本题

  • 相关阅读:
    Unix domain sockets
    python异常处理
    php注册登录源代码
    div,css命名规范!
    html、css和js注释的规范用法
    PHPstrom的Disable Power Save Mode
    开通了博客园
    O(1)时间删除链表中的节点 13
    打印1到最大的n位数 12
    自己实现一个数的整数次方 11
  • 原文地址:https://www.cnblogs.com/AthosD/p/11845554.html
Copyright © 2011-2022 走看看