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. Linux学习笔记03

    一.Linux常见命令 file:查看文件类型(windows用扩展名识别文件类型) 语法:file [options] [args] -b:显示结果时,不显示文件名 -c:显示执行file命令的执行 ...

  2. Python实现网络多人聊天室

    网络多人聊天室 文件结构: chatroom ├── client.py  # 客户端代码 ├── language.py  # 语言文件 ├── server.py  # 服务端代码 └── set ...

  3. 使用Java 编写FTP中的长传文件和下载文件

    实现FTP文件上传与下载可以通过以下两种种方式实现(不知道还有没有其他方式,),分别为:1.通过JDK自带的API实现:2.通过Apache提供的API是实现. 第一种方法:通过JDK自带的API实现 ...

  4. oracle-11g2下载安装笔记

    一.下载链接地址 http://download.oracle.com/otn/nt/oracle11g/112010/win64_11gR2_database_1of2.zip http://dow ...

  5. 如何选择合适的SSL证书类型

    网站安装SSL证书就可以将http升级为https加密模式,网站安装SSL证书因此成为一种趋势.如何为网站选择适合的SSL证书类型呢? SSL证书类型可分为2大类:1)按照验证方式分类2)按照支持域名 ...

  6. Python机器学习·微教程

    Python目前是机器学习领域增长最快速的编程语言之一. 该教程共分为11小节.在这个教程里,你将学会: 如何处理数据集,并构建精确的预测模型 使用Python完成真实的机器学习项目 这是一个非常简洁 ...

  7. 使用CXF实现WebService

    一.首先创建一个maven项目,引入相应的jar包 <?xml version="1.0" encoding="UTF-8"?> <proje ...

  8. 通过注解实现通用导出Excel

    Javaweb开发中数据的导入导出很常见,每次我们都需要写很多代码,所以我就在想能不能写一些通用的方法,之前已经在网上 整理过一些通用的方法,最近在网上看到一位牛人封装的更加简介,自己拿过来整理了一下 ...

  9. 史上最全面的SignalR系列教程-3、SignalR 实现推送功能-集线器类实现方式

    1.概述 通过前两篇 史上最全面的SignalR系列教程-1.认识SignalR 史上最全面的SignalR系列教程-2.SignalR 实现推送功能-永久连接类实现方式 文章对SignalR的介绍, ...

  10. JAVA-SpringMVC 概述及组件介绍

    一.SpringMVC概述 SpringMVC是一个WEB层.控制层框架,主要用来负责与客户端交互,业务逻辑的调用. SpringMVC是Spring家族中的一大组件,Spring整合SpringMV ...