• The 10th SWJTU ACM Online Tutorial


    小记:

    这次校预赛,基友拿Java敲了4题,我用C++敲了4题,Python敲了1题(一个美丽的错误)。

    题目都比较基础,有些数据太水,比如E的裸DP未优化AC,再如F的网络流竟然AC(我自己都惊呆了T^T)。

    题外话:

    昨天CodeJam打了满分,好高兴,毕竟我是半年没碰过C++的伪新手,嗯嗯~心态好才是真的好~

    小伙伴们,加油啊~

    相信代码相信爱~

    Problem A: SRTP

    求和比较。

    Problem B: 2048

    以R指令为例(L、U、D可通过旋转转化):

    每行单独处理,移动规则为尽可能靠右,合并规则为优先合并右侧的两个。

    可合并两组的特殊情况如:2 2 1 1合并后为0 0 4 2。

    Problem C: What's Her Name?

    统计某个逗比名字中各个字母的个数,再根据水桶效应,取最小值。

    对于单个名字出现2次且不能顶针的n,需要把个数除以2后,再与其他比较。

    Problem D: Skip Classes

    统计:类型1的天数记为a,类型2的天数记为b=b1(早上)+b2(下午)。

    答案为min[max(a+b1-m,0)+max(b2-k,0)]。

    Problem E: Sequence

    用d[i][j]表示以j结尾的长度为i的序列,DP状态转移方程:d[i][j]=d[i-1][p](p为j的因子,预处理得到所有的因子表)。

    答案为Sum(d[n][1~k])。

    Problem F: Share Candies

    没有想到贪心方法,使用网络流的最大流最小费侥幸AC。

    定义比平均值大的点为富足点,反之为贫穷点。对于每个富足点与贫穷点,建边,容量为富足点多余的糖果数,花费为富足点与贫穷点在环上的圆缺距离。超级源点与所有富足点连接,所有贫穷点与超级汇点连接。

    答案为源点到汇点的最小费。

    Problem G: Fibonacci Prime

    预处理前80个Fibonacci数,根据互素原则,得到前20个Fibonacci Prime。

    Problem H: A + B Again

    抽象小数模型为:a.b(c),其中a、b、c位数不定,tb、tc表示10的(b、c部分对应长度)次幂。

    引理:x=0.(c),tc*x=c.(c)=c+x,得到x=c/(tc-1)。

    答案为(a*tb+b+c/(tc-1))/tb=((a*tb+b)*(tc-1)+c*tb)/(tb*(tc-1))。

    Problem I: Digits' Sum

    模拟后各位求和。

  • 相关阅读:
    CCCC L2-023. 图着色问题【set去重判不同种类个数/简单图论/判断两相邻点是否存在同色以及颜色个数】
    百练 04 简单的整数划分问题
    NYOJ90 整数划分(经典递归和dp)
    图遍历问题
    图着色问题
    Java 大数(整数+浮点数) 基本函数
    根据规律绘制图形(俗称蛇皮走位)
    KMP算法之我见
    CCCC L1-039. 古风排版【图形输出/循环控制行列/模拟/细节】
    HYSBZ 2818 Gcd【欧拉函数/莫比乌斯】
  • 原文地址:https://www.cnblogs.com/baidongtan/p/3662414.html
Copyright © 2020-2023  润新知