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. Angular JS 中的内置方法之filter

    通过过滤器可以实现很多数据格式化的功能 常用方法形如{{ data | uppercase}} 或者是{{ 123.456 | number:2 }} 也可以通过在控制器中注入$filter来实现功能 ...

  2. 使用vsftp与shell实现对进程与服务状态的监控

    先说一下需求吧,公司开发了一款新的产品,新产品嘛,有着不得不出问题的理由,四个云机房,总共三百余台机器,需要实时的监控进程状态,虽然有zabbix来实现,但领导需求是脚本和zabbix一起做,zabb ...

  3. http://regex.alf.nu/ 非标准答案

    Plain strings (207)                             foo Anchors (206)                                   ...

  4. JDK的命令行工具系列 (三) jhat、jstack

    jhat: heapdump文件分析工具 在前两篇系列文章JDK的命令行工具系列 (一) jps.jstat.JDK的命令行工具系列 (二) javap.jinfo.jmap中, 我们已经介绍过了jp ...

  5. Extjs4 combobox hiddenName 后台取不到值

    当我们用 下拉框传值时,有一个问题,就是他有两个值,一个是用来显示的,一个是我们实际往后台需要传递的值,即 name 与 value 所以 combobox 才有了 hiddenName 这个属性,他 ...

  6. java并发编程(十五)----(线程池)java线程池简介

    好的软件设计不建议手动创建和销毁线程.线程的创建和销毁是非常耗 CPU 和内存的,因为这需要 JVM 和操作系统的参与.64位 JVM 默认线程栈是大小1 MB.这就是为什么说在请求频繁时为每个小的请 ...

  7. 精准测试与开源工具Jacoco的覆盖率能力大PK

    导读:本文根据实际使用情况,简要分析了精准测试和类Jacoco等传统白盒工具在设计理念.功能和应用场景的异同点,并阐述了覆盖率技术如何在新型企业开发体系中,发挥应有的重要作用. 覆盖率技术可以说是测试 ...

  8. bootstrape select使用小结

    看看上面的效果是bootstrape使用的效果.虽然不是很好看,但是符合bootstrape的风格.来看看普通的select的样式 bootstrape下的select和普通select在bootst ...

  9. 自己实现spring核心功能 三

    前言 前两篇已经基本实现了spring的核心功能,下面讲到的参数绑定是属于springMvc的范畴了.本篇主要将请求到servlet后怎么去做映射和处理.首先来看一看dispatherServlet的 ...

  10. laravel为模型中所有查询统一添加WHERE条件

    在使用laravel开发web系统的过程,需要在model处为该模型统一添加一个条件或者多个条件,研究了一个laravel的模型类,发现model中有个方法是构建查询的,方法如下: /** * Reg ...