zoukankan      html  css  js  c++  java
  • 2013 SCAUCPC Summary

      昨天忘记写总结了,今天补上。

      昨天是我们学校的校赛,也是从早上9点开始打的。这次的比赛是个人赛,搞的很没气氛。比赛是在我们OJ上judge的,而不是用PC^2提交,这就没有了省赛前训练的感觉了。

      比赛之前,我和我的队友约定好了,我先做C和F两题,可是在比赛开始的时候,快速的看了一下那两题,瞬间就不会了,所以开始了5分钟左右才去看水题。跟着board,A是一道水题,题意是给出I1,I2,..,In,T1,T2,..,Tm,问(I1*I2*..*In)能不能被(T1*T2*..*Tm)整除。我当时很快就想到了用GCD的方法,两两相约分,最后判断Tk(1..m)是否都是1。打的时候,想了一下,貌似可行,于是就3~4分钟打好,提交,1y~提交的时候就有人过H了。对于H题,看题加上过题一共才3分钟,这就是这次比赛的两题水题。H题,大概是一个裸的二分最优匹配,不过数据量小,所以可以暴搜。于是,我就用STL中的next_permutation来爆搞这题,各种方便,所以才可以瞬间秒了这题,然后排名就瞬间到第1了。

      然后看到的是一题求约数和的题,题意是要找在给定范围里,有多少对相互的约数是对方的数,即设S(x)是x的约数和,不包括本身,满足x==S(y)的同时y==S(x)。这个题我就打的太久了,想到可以直接打表,但是求约数和的时候用的方法太麻烦,所以最终搞了30分钟才过这题。然后就是一个约瑟夫环的问题,题意是求J^k(n)的值,其中J(n)表示有n个人,从1开始,每数两个人就出列一个,剩下的人的编号就是J(n)了。这题我是找规律的,找到规律以后就瞬间秒了这题了。规律很容易找,所以就不详细说了。前面4题都1y了,依然Rank 1~~~

      一共8题,剩下4题了。在这几题里面,我看到的是一道dp加矩阵运算的。题意是,有两间工厂,一间只生产总长度<1000的,每个小块长度<1000的巧克力,另一间只生产总长度<1e9的,每个小块长度<20的巧克力。问共有多少种划分小块的方法。对于第一个小问题,显然可以直接dp暴力,然后我想另一个情况的时候想了特别长的时间。我是这样分析的,看见这个情况,每个小块都是只有20不到的长度,可是总长度是1e9,所以我利用第一种情况的dp转移方程,发现转移的方式是可以递推得到的,于是我就联想到了用矩阵来实现快速转移,最后就打了个矩阵快速幂,先dp预处理开始的0~19的情况,然后不断借助矩阵快速递推,最终得到结果。还是1y,这时只有我是5题的,保持Rank 1~

      这是还有100分钟,在一道期望和超恶心的题间徘徊。那题恶心的题还要出题者没有解释清楚题意,于是就决定做期望的题了。做着做着的时候,发现好难搞,在最后结束的时候问那个过了的人,他解释了一下题意,我才发现我理解错题目了。剩下30分钟的时候,出题者终于解释清楚C题了,可是当时,那种恶心的输入,加上不确定是否能做出,于是我就直接放弃了,结束了比赛。这题放弃虽然有点不好,不过表示觉得自己的代码能力还是相当不足的,所以才果断放弃了。

      最终在校赛登顶了~Mark Rank 1!

    P.S:其实主要是我们10级的几位大神去了面TX,所以登顶的。

    ——written by Lyon

  • 相关阅读:
    317 随笔
    316 随笔
    315 随笔
    python 第一章
    matlab 第四章 第一节 字符串 元胞
    matlab 第三章 第二节 多维数组
    matlab 第三章
    python 循环+break continue
    Springboot 教程 导入
    matlab 第二章 第三节 数值表示、变量及表达式
  • 原文地址:https://www.cnblogs.com/LyonLys/p/2013_SCAUCPC_summary.html
Copyright © 2011-2022 走看看