A. Amazing Adventures


B. Bipartite Battle

solved by rdc 135min

  • sdcgvhgj 打表找出了规律,发现 sg 值只和点数和边数的奇偶性有关。
  • 数学归纳之。

C. Conquest Campaign

solved by rdc 16min

  • 超级源点,BFS。

D. Divide Doughnut

solved by rdc 199min -3

  • 注意到长度为 5e8 的窗口,滑动一步,1 的个数变化的绝对值,不超过 1。
  • 介值定理。

心路历程

  • 这个次数限制是什么东西?它为什么是 log 根号啊。
  • 这个每一部分都不超过 1 有什么用啊?想不通啊。
  • 窗口一滑。窗口内 1 的个数变化不超过 1.
  • 定义 \(f(x)\) 表示从 \(x\) 开始长度为 5e8 的区间内 1 的个数,问题等价于找零点。

F. Fun with Fibonacci

upsolved by sdcgvhgj
题意

  • 定义\(G(i,n)=F(G(i-1,n)),G(1,n)=F(n)\),\(F\)为斐波那契数列,求\(G(k,n)\%p\)
  • \(10^5\)组数据,\(1≤n,k≤10^{18},1≤p≤10^6,p\)为任意正整数

做法

  • 斐波那契数列循环节是经典问题,可以\(O(log^2n)\)求得,设斐波那契数列模\(p\)的循环节为\(f(p)\)
  • 设\(G(k,n,p)=G(k,n)\%p\),于是有:\(G(k,n,p)=F(G(k-1,n,f(p))\%p\),于是有了\(O(k*log^2n)\)的做法
  • 发现有这样一个性质,不管初始\(p\)为何值,在递归不超过20层之后一定会达到一个不动点,即\(f(x)=x\)的点,于是之后的递归\(p\)是不变的
  • 于是问题就变成了每次把\(n\)变为\(F(n)\%p\),求\(k\)次之后的值。考虑从\(i\)向\(F(i)\)连边,于是就变成在\(p\)个点的基环森林(水母森林)上找环的问题,复杂度\(O(p)\)
  • 打表发现不动点一共有9个,且最大为\(9375000\),并且每个点最多跳4次就会进基环里,于是我们只需要线性预处理每个基环森林的每个点会进到哪个环的哪个点就好了
  • 设\(N=9375000\),求所有\(f(p)\)的复杂度可以通过记忆化达到\(O(NlogN)\)(\(O(log^2N)\)的复杂度求\(O(N/logN)\)个素数的值加\(O(logN)\)的复杂度求其他数的值)
  • 这样每次查询的复杂度就是\(O(20logN)\)了
  • code

H. Hydra's Heads

solved by sdcgvhgj 17min start 22min AC
签到


I. Insider's Identity

solved by sdcgvhg 99min
AC自动机经典问题


J. Jurassic Jungle

solved by rdc 185min -1

做法

  • 完全不会证。先注意到环合法,再注意到团合法,再注意到左右集点数等的完全二分图合法。
  • 接下来,想破脑袋也想不出其它合法的图了,烦死咯。
  • 不如 try a try!

K. Kingdom of Kittens

23min start, 1737min upsolved by sdcgvhgj -17
题意 给平面n个点,问是否存在一个三角形使所有点都在其边界上
做法

  • 所有点都在凸包上,且严格凸包点数小于等于6,WA
  • 发现这样很多情况都不对,严格凸包的所有有点的边都需要被三角形包含
  • 考虑枚举严格凸包的三条边然后check?被正方形hack
  • 显然(大概)枚举两条边一定是对的,那另一条边怎么找?以及怎么check?
  • 法一:枚举一个点,过这个点做已确定两边的角平分线的垂线做第三条边,然后check,TLE,而且涉及浮点运算
  • 法二:在两侧分别分类讨论。看似很难讨论,但冷静分析一下发现还算简单,AC

L. Lazy Learner


ICPC 2018 Asia Hanoi Regional Contest的更多相关文章

  1. 2018 ACM-ICPC Asia Beijing Regional Contest (部分题解)

    摘要 本文主要给出了2018 ACM-ICPC Asia Beijing Regional Contest的部分题解,意即熟悉区域赛题型,保持比赛感觉. Jin Yong’s Wukong Ranki ...

  2. The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)

    摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...

  3. The 2018 ACM-ICPC Asia Qingdao Regional Contest

    The 2018 ACM-ICPC Asia Qingdao Regional Contest 青岛总体来说只会3题 C #include<bits/stdc++.h> using nam ...

  4. 2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred)

    2019-2020 ICPC, Asia Jakarta Regional Contest (Online Mirror, ICPC Rules, Teams Preferred) easy: ACE ...

  5. ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction hihocoder1870~1879

    ACM-ICPC Asia Beijing Regional Contest 2018 Reproduction hihocoder1870~1879 A 签到,dfs 或者 floyd 都行. #i ...

  6. zoj 3659 Conquer a New Region The 2012 ACM-ICPC Asia Changchun Regional Contest

    Conquer a New Region Time Limit: 5 Seconds      Memory Limit: 32768 KB The wheel of the history roll ...

  7. 2014-2015 ACM-ICPC, Asia Xian Regional Contest(部分题解)

    摘要 本文主要给出了2014-2015 ACM-ICPC, Asia Xian Regional Contest的部分题解,说明了每题的题意.解题思路和代码实现,意即熟悉区域赛比赛题型. Built ...

  8. 2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest

    2017-2018 ACM-ICPC, Asia Tsukuba Regional Contest A Secret of Chocolate Poles 思路:暴力枚举黑巧克力的个数和厚黑巧克力的个 ...

  9. hdu 3123 GCC (2009 Asia Wuhan Regional Contest Online)

    GCC Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Subm ...

随机推荐

  1. IDEA:No SLF4J providers were found.

    如果您是用IDEA 的 maven 写的 将slf4j的导入包 更改 为下列代码 <dependency> <groupId>org.slf4j</groupId> ...

  2. 02 | 健康之路 kubernetes(k8s) 实践之路 : 生产可用环境及验证

    上一篇< 01 | 健康之路 kubernetes(k8s) 实践之路 : 开篇及概况 >我们介绍了我们的大体情况,也算迈出了第一步.今天我们主要介绍下我们生产可用的集群架设方案.涉及了整 ...

  3. 通过ping命令了解三层转发流程

    ping命令:因特网包探索器.本文主要通过路由器两端不同网段PC互ping来讲解三层转发流程. 例子:PC-A是如何 ping 通 PC-C 的,有几种情况? 说明:1.在条件1阶段PC-C不会刷新a ...

  4. Linux内容点(部分)

    文件属性 -w      文件或目录,对目前(有效的)用户或组来说是可写的       -x       文件或目录,对目前(有效的)用户或组来说是可执行的       -o       文件或目录, ...

  5. Java 字符串分隔 split

    Java中的我们可以利用 split 方法(Java.lang.string.split)把字符串按照指定的分割符进行分割,然后返回字符串数组,下面是string.split的用法实例及注意事项. s ...

  6. 归并排序(从上到下、从下到上)——C语言

    归并排序 归并排序(MERGE-SORT)是建立在归并操作上的一种有效的排序算法,该算法采用经典的分治(divide-and-conquer)策略(分治法将问题分(divide)成一些小的问题然后递归 ...

  7. Echarts图表插件(4.x版本)使用(二、带分类筛选的多个图表/实例化多个ECharts,以关系图/force为例)

    导读 如果想在一个页面里实例化带分类筛选的多个Echarts该怎么做呢? 曾探讨了带分类选择的关系图显示为自定义图片的需求实现,传送门ECharts图表插件(4.x版本)使用(一.关系图force节点 ...

  8. javascript基础案例解析

    学完了JavaScript基础部分,总结出一些基本案例,以备日后查看! 1.九九乘法口诀表:在控制台中输出九九乘法口诀表!代码如下: <!DOCTYPE html> <html> ...

  9. javaScript基础-0 javascript概述

    一.简介 javaScript一种面向web的编程语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早 ...

  10. 洛谷 P2704 [NOI2001]炮兵阵地

    题意简述 给定一张地图,有山地H,平原P,平原可放置炮兵, 炮兵可以攻击沿横向左右各两格,沿纵向上下各两格的区域 求最多放几个炮兵,使他们两两攻击不到 题解思路 枚举第i层,第i - 1层,第i - ...