Asia-Dhaka 2017

A - Brick Walls

题目描述:如下图,编坐标与路径,给出两个坐标,问两个坐标的最短距离是多少。

solution
先阶梯型地走,然后注意“中”字走法。

时间复杂度:\(O(1)\)(每次询问)

B - Bracket Sequence

题目描述:有一个括号序列,该括号序列有四种括号,问以位置\(i\)开头的合法括号序列最长有多长。

solution
首先匹配好括号,然后将相邻的合法括号序列处理一下即可。

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

C - Making a Team

题目描述:有\(n\)个人,从中选择\(m\)个人组成一队,队中有四个职位,每个职位选择一个人担任,但一个人可以有很多职位,问有多少种组队方案。

solution
分类讨论:

  1. 从\(n\)个人中选一个人担任四个职位,其他人可选可不选。
  2. 从\(n\)个人中选两个人担任四个职位,其他人可选可不选。
  3. 从\(n\)个人中选三个人担任四个职位,其他人可选可不选。
  4. 从\(n\)个人中选四个人担任四个职位,其他人可选可不选。

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

D - Christmas Tree

题目描述:给出一棵树(\(n\)个点),从树上删掉一些点(如果删去的点不是叶子节点,则删掉以该点为根的子树),使得每个点有\(m\)个儿子。问最终树上最多还有多少个点。

solution
树形dp

时间复杂度:\(O(n)\)(每次询问)

E - Leap Birthdays

题目描述:给出一个人的出生年月日,问到某一年的最后一天为止,这个人过了多少次生日。

solution
模拟。

时间复杂度:\(O(1000)\)(每次询问)

F - Megamind

题目描述:有个人用一支枪去打怪,怪物一开始有\(E\)生命值,枪有\(K\)发子弹,每颗子弹可造成\(P\)点伤害,当\(K\)发子弹打完后,需要时间装子弹,在这段时间怪物会恢复\(R\)生命值。问至少需要多少枪才能打死这个怪物,或者永远打不死。

solution
简单数学。

时间复杂度:\(O(1)\)(每次询问)

G - XOR Path

题目描述:给出一棵树,树边有权值,一条路径的值为路径的边的权值的异或和。输出路径的值为\(0\)~\(2^{16}-1\)每个数对应的路径数。

solution
根据\(XOR\)的性质,两点形成路径的值可以看做这两点到根的路径的值的异或和。然后问题就转化为类似FFT的问题,用快速沃尔什变换解决。

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

H - Angry Birds Transformers

题目描述:二维平面第一象限上有一些点,有一个人沿着\(x\)轴正向移动,他的视角范围为\(90^{\circ}\),视角范围关于\(x=p\)对称(\(p\)为他走到的位置)。问他最多能同时看到多少个点。

solution
将点映射到\(x\)轴上(开始看到该点的位置以及最后看到该点的位置),然后求个前缀和的最大值即可。

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

I - Divisors

题目描述:设\(d(n)\)表示\(n\)的约数个数,\(AF(n)=\prod_{i=1}^{n} i!\),求\(d(AF(n))\)

solution
\(AF(n)=\prod_{i=1}^{n} i!=\prod_{i=1}^{n} i^{n-i+1}\)
枚举质因数\(d\),\(d\)的指数\(i\),现要算出\(AF(n)\)有多少质因数\(d\)
设\(d^i\)的倍数有\(x\)个,\(x=\frac{n}{d^i}\)
\(s_d=\sum_{i=0} (n-d^i+1)x+\frac{x(x-1)}{2} d^i\)
答案就是\(\prod (s_d+1)\)

时间复杂度:\(O(\sigma(n)logn)\)(每次询问)

J - Substring Sorting

题目描述:给出一个字符串,询问长度为\(K\)的子串按字典序排好后(并去重,只保留位置较前的),排名为\(M\)的字符串的第一个字符的位置。

solution
后缀数组+线段树,但去重的问题还没解决(不会只保留位置较前的)

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

K - Bermuda Polygon

solution
听说是半球上凸包。

Asia-Dhaka 2017的更多相关文章

  1. ICPC Asia Nanning 2017 I. Rake It In (DFS+贪心 或 对抗搜索+Alpha-Beta剪枝)

    题目链接:Rake It In 比赛链接:ICPC Asia Nanning 2017 Description The designers have come up with a new simple ...

  2. ICPC Asia Nanning 2017 L. Twice Equation (规律 高精度运算)

    题目链接:Twice Equation 比赛链接:ICPC Asia Nanning 2017 Description For given \(L\), find the smallest \(n\) ...

  3. ICPC Asia Nanning 2017 F. The Chosen One (高精度运算)

    题目链接:The Chosen One 比赛链接:ICPC Asia Nanning 2017 题意 \(t\) 组样例,每组给出一个整数 \(n(2\le n\le 10^{50})\),求不大于 ...

  4. ICPC Asia Nanning 2017 F. The Chosen One (大数、规律、2的k次幂)

    Welcome to the 2017 ACM-ICPC Asia Nanning Regional Contest.Here is a breaking news. Now you have a c ...

  5. Regionals 2012 :: Asia - Dhaka

    水 B Wedding of Sultan 题意:求每个点的度数 分析:可以在,每个字母的的两个端点里求出的的出度,那么除了起点外其他点还有一个入度,再+1 /******************** ...

  6. Gym102040 .Asia Dhaka Regional Contest(寒假自训第9场)

    B .Counting Inversion 题意:给定L,R,求这个区间的逆序对数之和.(L,R<1e15) 思路:一看这个范围就知道是数位DP. 只是维护的东西稍微多一点,需要记录后面的各种数 ...

  7. 2018-2019 ACM-ICPC, Asia Dhaka Regional Contest

    目录 Contest Info Solutions B. Counting Inversion C. Divisors of the Divisors of An Integer E. Helping ...

  8. 2018-2019 ACM-ICPC, Asia Dhaka Regional Contest C.Divisors of the Divisors of An Integer (数论)

    题意:求\(n!\)的每个因子的因子数. 题解:我们可以对\(n!\)进行质因数分解,这里可以直接用推论快速求出:https://5ab-juruo.blog.luogu.org/solution-p ...

  9. Java 8新特性之Date/Time(八恶人-4)

    Mannix‘s Marauders -Chris Mannix  曼尼克斯掠夺者 曼尼克斯·克里斯 “I'm the new sheriff of Red Rock.”  “我是红石镇的新任警长” ...

  10. java国际化之时区问题处理

    原文:https://moon-walker.iteye.com/blog/2396035 在国际化的项目中需要处理的日期时间问题主要有两点: 1.日期时间的国际化格式问题处理: 2.日期时间的时区问 ...

随机推荐

  1. 【bzoj3125】CITY 插头dp

    题目描述 给出一个n*m的矩阵,某些格子不能通过,某些格子只能上下通过或左右通过.求经过所有非不能通过格子的哈密顿回路条数. 输入 第一行有两个数N, M表示地图被分割成N*M个块,接下来有N行,每行 ...

  2. WebGL画一个10px大小的点

    WebGL程序在屏幕上同时使用HTML和javascript来创建和显示三维图形.WebGL中新引入的<canvas>元素标签,它定义了网页上的绘图区域. 由于<canvas> ...

  3. 【题解】CF#713 E-Sonya Partymaker

    这题真的想了挺久的,然而到最后也还是没想到怎样处理环的情况……网上竟然也完全没有题解,无奈之下到 CF 的 AC 代码里面去找了一份膜拜了一下.感谢~ 由于觉得这题有一定的难度,自己看代码也看了比较久 ...

  4. [CQOI2011]动态逆序对 CDQ分治

    洛谷上有2道相同的题目(基本是完全相同的,输入输出格式略有不同) ---题面--- ---题面--- CDQ分治 首先由于删除是很不好处理的,所以我们把删除改为插入,然后输出的时候倒着输出即可 首先这 ...

  5. 【BZOJ3771】Triple(生成函数,多项式运算)

    [BZOJ3771]Triple(生成函数,多项式运算) 题面 有\(n\)个价值\(w\)不同的物品 可以任意选择\(1,2,3\)个组合在一起 输出能够组成的所有价值以及方案数. \(n,w< ...

  6. 强大工具psexec工具用法简介

    原文链接地址:https://www.cnblogs.com/boltkiller/articles/4791307.html psexec是sysinternals的一款强大的软件,通过他可以提权和 ...

  7. Hive(六)hive执行过程实例分析与hive优化策略

    一.Hive 执行过程实例分析 1.join 对于 join 操作:SELECT pv.pageid, u.age FROM page_view pv JOIN user u ON (pv.useri ...

  8. Java Web 生成临时文件并下载

    转自: Java Web 生成临时文件并下载 概述:本文是  java 服务器端生成文件并下载的示例,并不完善,下载之后一般来说还需要删除临时文件. 注意:临时文件存放在 /WEB-INF/tmp 目 ...

  9. Python基础之面向对象(进阶篇)

    面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象,根据模板创建的实例(即:对象),实 ...

  10. linux的进程1:rootfs与linuxrc

    在内核启动的最后阶段启动了三个进程 进程0:进程0其实就是刚才讲过的idle进程,叫空闲进程,也就是死循环.进程1:kernel_init函数就是进程1,这个进程被称为init进程.进程2:kthre ...