ACM International Collegiate Programming Contest World Finals 2013

A - Self-Assembly

题目描述:给出\(n\)个正方形组件,正方形每条边有一个标签,标签可能是00,表示这条边不能与其它边相拼,也可能是一个字母加正号或负号,相同字母不同符号的边可以相拼。每个组件有无限个,问利用这些组件是否能拼出一个无限大的多边形。

solution
拆点,每个正方形拆成\(4\)个点,每条边一个,然后每条边拆成两个点(出点和入点),然后新增\(52\)个点,表示\(52\)个标签,然后每个点拆成两个点(出点和入点)。连边,然后判断是否有环,如果有,则能拼出一个无限的多边形,否则不能。

时间复杂度:\(O(n*8+n*4*4)\)

C - Surely You Congest

题目描述:给出一个无向图,每个点上有一些车,这些车都要到\(1\)号点,车都走最短路径,但不能有两辆车同时同向进入某条边,但可以进入某个点,每辆车都同时出发。问最多有多少辆车能同时出发。

solution
先求出\(1\)号点到每辆车的最短路径,有一个性质:最短路径不同的点不会同时同向进入某条边。所以将最短路径相同的点归成一类,同时处理这些点,找出那些最短路径的边,设流量为\(1\),然后跑一次最大流,然后每一类的最大流相加就是答案。

时间复杂度:难以估计,大胆写吧

D - Factors

题目描述:设\(f(n)\)表示\(n\)分解质因数后有多少种不同的排列,如\(f(20)=3\),因\(f(20)=2 \cdot 2 \cdot 5=2 \cdot 5 \cdot 2=5 \cdot 2 \cdot 2\)。给出一个数\(k\),求出一个最小的\(n\),使得\(f(n)=k\)。

solution
设\(a_i\)表示\(n\)的每个质因数的个数。
\[f(n)=\frac{(\sum a_i)!}{\prod a_i!}\]
设\(n'=np^s, n \nmid p\)
\[f(n')=\frac{(\sum a_i +s)!}{\prod a_i! \times s!}\]
\[=\frac{(\sum a_i)! \cdot (\sum a_i +1) \cdot ... \cdot (\sum a_i +s)}{\prod a_i! \times s!}\]
\[=f(n) \cdot C_{\sum a_i +s}^{s}\]

所以直接搜索,质因数肯定是取最小的那些。貌似有答案不多。

时间复杂度:不会算。

F - Low Power

题目描述:有\(n\)个机器,每个机器有两个芯片,每个芯片会有\(k\)个电池,给出\(2nk\)个电池,分配这些电池,使得所有机器的两个芯片的电池最小值的差的最大值最小,输出这个值。

solution
先将电池从小到大排序。二分答案,显然每台机器的两个芯片的最小电池一定是相邻的电池,所以贪心分配就好。

时间复杂度:\(O(nlog10^9)\)

H - Матрёшка

题目描述:有\(n\)个排成一行的俄罗斯套娃,每个套娃有一个大小,一套完整的套娃的大小是从\(1\)到\(m\)(随便一个数)的连续整数,小的放在大的里面。现在将这\(n\)个套娃套成若干套完整的套娃,每次只能将相邻的套娃套在一起,一旦一个套娃变成一组套娃中的一个,则它最终不会变成别的组的套娃。问最少需要几次打开操作。如合并\([1, 2, 6]\)与\([4]\),需要打开\(6\)和\(4\)的盖子。

solution
显然,一套套娃一定是连续的一段全排列,所以可以区间dp来分割区间成多个全排列。然后考虑一个全排列需要多少次打开操作来套成一套套娃。
这又可以用一个区间dp来求解,问题是合并两套不完整的套娃的最少操作,假设两套套娃最小的大小为\(A, B\),若\(A<B\),则\(A\)那套中小于\(B\)的那些套娃不用打开,反之有类似的结论,其它的套娃都要打开。

时间复杂度:\(O(n^3)\)

I - Pirate Chest

题目描述:有一个\(n \times m\)的水池,给出每一格水池的深度,现要将一个底面的长和宽不超过\(a\)和\(b\)的长方体放入池中,使得长方体严格在水面以下,当然长方体放进去后水面会上升。求出长方体体积的最大值。

solution
假设水面不会上升。则某个子矩阵上的长方体的体积为该子矩阵中的最小值乘子矩阵的面积。设\(A(h)\)表示最小值为\(h\)的子矩阵的最大面积(当然要考虑\(a, b\)),这个函数可以在\(O(n^3)\)的时间内求出。(枚举某两列,表示子矩阵的列的范围,压缩成一列,即每行只保留最小值,算出第\(i\)行的最小值为子矩阵最小值的范围)
事实上并不需要记录\(A(h)\),当算出\(A(h)\)时,\(O(1)\)就能算出它能高出原水面的高度,更新答案即可。

时间复杂度:\(O(n^3)\)

J - Pollution Solution

题目描述:求一个半圆与一个多边形的交的面积。

solution
由于那个多边形也只在半圆的那边,所以直接求多边形与圆的交也是可以。直接上模板。

时间复杂度:\(O(n)\)

ACM International Collegiate Programming Contest World Finals 2013的更多相关文章

  1. ACM International Collegiate Programming Contest World Finals 2014

    ACM International Collegiate Programming Contest World Finals 2014 A - Baggage 题目描述:有\(2n\)个字符摆在编号为\ ...

  2. ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syria, Lattakia, Tishreen University, April, 30, 2018

    ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2018) Syr ...

  3. ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. Poor Ramzi -dp+记忆化搜索

    ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. ...

  4. Gym100814B Gym100814F Gym100814I(异或) ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology

    今日份的训练题解,今天写出来的题没有昨天多,可能是因为有些事吧... Gym100814B 这个题就是老师改卷子,忘带标准答案了,但是他改了一部分卷子,并且确定自己改的卷子没出错,他想从改过的卷子里把 ...

  5. [ACM International Collegiate Programming Contest, Amman Collegiate Programming Contest (2018)]

    https://codeforces.com/gym/101810 A. Careful Thief time limit per test 2.5 s memory limit per test 2 ...

  6. 2019.04.04 第二次训练 【ACM International Collegiate Programming Contest, JUST Collegiate Programming Contest (2018)】

    题目链接:https://codeforces.com/gym/101853 A: ✅ B: (二分图匹配) https://blog.csdn.net/qq_41997978/article/det ...

  7. ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (ECPC 2015)

    A.Arcade Game(康拓展开) 题意: 给出一个每个数位都不同的数n,进行一场游戏.每次游戏将n个数的每个数位重组.如果重组后的数比原来的数大则继续游戏,否则算输.如果重组后的数是最大的数则算 ...

  8. Codeforces Gym100814 I.Salem-异或 (ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology)

    这个题就是二进制,找两个数相应的二进制相对应的位置上数不同的最多的个数.异或写就可以. 一开始还想麻烦了,找出来最大的偶数和最大的奇数,最小的偶数和最小的奇数,但是这样想考虑的不全.因为范围比较小,直 ...

  9. Codeforces Gym100814 F.Geometry (ACM International Collegiate Programming Contest, Egyptian Collegiate Programming Contest (2015) Arab Academy for Science and Technology)

    这个题真的是超级超级水啊,哈哈哈哈哈哈.不要被题面吓到,emnnn,就这样... 代码: 1 #include<iostream> 2 #include<cstring> 3 ...

随机推荐

  1. bzoj4568-幸运数字

    题目 给出一棵树,每个节点上有权值\(a_i\),多次询问一条路径上选择一些点权值异或和最大值.\(n\le 2\times 10^4,q\le 2\times 10^5,0\le a_i\le 2\ ...

  2. 【二】shiro入门 之 身份验证

    大体步骤如下: 1.首先通过new IniSecurityManagerFactory 并指定一个ini 配置文件来创建一个SecurityManager工厂: 2.接着获取SecurityManag ...

  3. 洛谷 P1495 曹冲养猪

    这是一道标准的孙子定理的题,题意浅显,思路明确 然后我就交了整整16遍啊,欺负人啊,题解暴力就能过,我就TLE ..悲惨的提交记录 下面是题面 题目描述 自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干 ...

  4. QoS专题-第1期-QoS理论篇

    QoS理论篇 1      QoS的产生 随着网络技术的飞速发展,IP网络已经从当初的单一数据网络向集成数据.语音.视频.游戏的多业务网络转变.网络中所承载的数据呈几何级倍数增长,而且这些业务对网络带 ...

  5. CentOS 7下安装pptp服务端手记 ok

    主要配置步骤 1. 安装前检查系统支持 2. 安装必要包 3. 修改相关配置文件 4. 设置开机自动启动 pptpd, iptables 5. iptables配置网络 6. 阿里云ECS可能还需要几 ...

  6. 【JQuery】数据

    一.前言        接着前一章的内容,继续本章的学习 二.内容 queue 显示或操作在匹配元素上执行的函数队列 .queue(queueName) 操作在匹配元素上执行的函数队列 .queue( ...

  7. bzoj3748 Kwadraty

    Claris 当然是要用来%的 但是,,其他dalao,,比如JL的红太阳commonc.题解能不能稍微加几句话,蒟蒻看不懂啊. 在这里解释一下,Claris的题解.(因为我弱,想了半天才明白,所以觉 ...

  8. poj 2176 folding

    Description:   就是把一个字符串压尽可能的压缩 #include<iostream> #include<cstring> #include<cstdio&g ...

  9. 随机抽样一致性算法(RANSAC)示例及源代码--转载

    转载自王先荣 http://www.cnblogs.com/xrwang/p/SampleOfRansac.html 作者:王先荣 大约在两年前翻译了<随机抽样一致性算法RANSAC>,在 ...

  10. OpenCV图像变换(仿射变换与透视变换)

    仿射变换(affine transform)与透视变换(perspective transform)在图像还原.图像局部变化处理方面有重要意义.通常,在2D平面中,仿射变换的应用较多,而在3D平面中, ...