【2019 Wannafly Winter Camp Day5 C】Division 题解

题目大意

  你有一个数列 $a_1,a_2,\cdots,a_n$。你可以进行这样的一次操作,每次选择数列中其中一个数然后将其除 $2$ 下取整,也就是选择一个数 $a_i$,变成 $\lfloor \frac{a_i}{2} \rfloor$。
  一共有 $q$ 个询问,每次你考虑数列中 $[l,r]$ 这段数,即 $a_l,a_{l+1},a_{l+2},\cdots,a_r$,对这些数字进行不超过 $k$ 次操作,这些数字的总和最小值可能是多少。

  $1 \leq n \leq 10^5,\ 1 \leq q \leq 5*10^5$
  $1 \leq a_i \leq 10^9,\ 0 \leq k \leq 10^9$
  5000 ms,256 MB

【AtCoder Grand 024E】Sequence Growing Hard 题解

题目大意

  求满足以下条件的序列集合 $\{A_0,A_1,…,A_N\}$ 的个数,模 $M$:

  1. $A_i$ 长度为 $i$,其中每个元素都是 $[1,K]$ 内的一个正整数。
  2. 对于 $i \geq 1$,$A_i$ 是由 $A_{i-1}$ 在某个位置插入一个数得到的。
  3. 对于 $i \geq 1$,$A_i$ 字典序大于 $A_{i-1}$

  $N,K \leq 300,~M \leq 10^9$

【2018icpc Regional Dhaka G】Techland 题解

题目大意

  有一棵 $n$ 个点的树,点编号 $1,\cdots,n$。有 $Q$ 次操作,操作有三种类型:
  $1\ X\ L\ R$:公司 $X$ 在编号属于 $[L,R]$ 的点上各开一家商店。如果该公司曾经有过商店,则它以前的商店全部清除,只算这次的。
  $2\ X$:公司 $X$ 的商店全部清除。
  $3\ C\ M\ P_1\ P_2\ …\ P_M$:有个人在 $C$ 号点,他指定了他喜欢的公司为 $P_1,\cdots,P_M$,你要找到一个离 $C$ 最近的点,使得这个点有他喜欢的公司开的商店。求这个距离。

  单组数据:$n \leq 50000,\ Q \leq 10^5,\ \sum m \leq 10^5$
  10 组数据共 10s。

【codejam2019 Round1A】Golf Gophers 题解

题目大意

  这是一道交互题。
  现在有若干只地鼠,你只知道地鼠数量 $\leq M$,你要把这个数量猜出来。
  你有 18 个风扇。每天初始,你给每个风扇设定它的叶片数 $b_i$(2 到 18 之间,从 0 开始标号),然后都让 0 号叶片指向正下。接着,每只地鼠独立地、等概率地选择一个风扇,把它的叶片往前拨一位(即原来是 $j$ 号叶片向下的现在变成 $(j+1)\bmod b_i$ 号叶片向下)。
  你告诉电脑 $b$ 序列,它告诉你这天结束时各风扇指向正下的叶片编号。
  你要在至多 $N$ 天之内猜出来。

  $Task1: N=365,\ \ M=100$
  $Task2: N=7,\ \ M=10^6$

【CF1137D】Cooperative Game 题解

题目大意

  这是一道交互题。
  有这样一个 $\rho$ 型的有向图:

  但是 $t$ 和 $c$ 都是未知的。
  你有 10 个棋子一开始在起点(标了房子那个),你要把他们都走到终点(标了棋子的那个)。每一步,你可以任意指定一些棋子,让这些棋子都向前走一步。然后电脑会告诉你,哪些棋子是在同一个格子里的。当你认为你把所有棋子都放到终点了的时候,就可以 end 了。
  你的步数不能超过 $3(t+c)$。
  $t+c \leq 1000$

【CF1137C】Museums Tour 题解

题目大意

  有一幅 $n$ 个点 $m$ 条边的有向图,每个点有一个博物馆,一周有 $d$ 天。每个博物馆在每一天的开闭状态是已知的(一个大的 01 矩阵)。
  一开始你在 $1$ 号点星期 $1$,每天如果当前所在的博物馆开馆,你就可以去访问它,当这一天结束时,你必须向前走一步或者结束行程。
  求你最多能访问多少个不同的博物馆。

  $n,m \leq 10^5,\ d\leq50$

【程设大作业】printf 的实现

我决定挂(biao)一挂(biao)我们的这个程设大作业。
(同样是大一,别人家的大作业是写一个 jumping game,怎么到你这就是个 printf 呢。。。

Task

  一句话,就是要手写 printf。
  具体来讲,你需要自己实现一个函数(C 语言),名叫 myprintf,其功能和 printf 一致——参数第一个是字符串format[],后面是任意个参数,然后能把这些东西输出出来,返回值是一共输出了多少个字符。

2018ICPC北京凉凉记

三色的 ACM

  单赛季三场比赛全部结束了,又到了退役的时候。
  三场集齐了金银铜,三色的 ACM~(笑

  这次北京凉了也宣告我们 EC 续命失败了,我们的队可能也要终了。可以水一发游记纪念一下了~