【Pre-Finals 2016, Kent Nikaido Contest A】Tetris Puzzle 题解

题目大意

  你有无限个这种 S 型的牌(一开始都如左上角那样放置),每次你可以选择一张牌,将其 Rotate,或将其 Flip,或将其放入一个 $N \times N$ 的棋盘。棋盘上不能有牌重叠,被操作过的牌最后都必须放入棋盘。

  你有一个计数器,每当执行 Rotate 或 Flip 操作的时候,计数器会加 $1$。
  现在给你最终的棋盘状态(01 矩阵,表示每个格子有没有被覆盖),求计数器的奇偶性。(保证奇偶性唯一)

  $N \leq 50$

【2019icpc Regional 南昌 B】A Funny Bipartite Graph 题解

题目大意

  给定一幅 $n$ 个点的二分图。左边的每个点度数至少为 $1$ 至多为 $3$,且左边每个点只会连向右边编号大于等于它的点。
  现在你要选择一些边,限制如下:

  • 右边的每一个点都要被覆盖到;
  • 有一个 01 矩阵 $A_{n\times n}$,若 $A_{i,j}=1$ 则表示左边第 $i$ 个点和第 $j$ 个点不能同时被覆盖到;
  • 对于左边的每一个点,如果它没被覆盖到则代价为 $0$,否则代价为 $M_i^{d_i}$,其中 $d_i$ 表示被它覆盖了多少次。满足上面两条的情况下要使得代价最小。

  求最小代价,或输出无解。

  $n \leq 18,~1 \leq M_i \leq 100$
  多测,$T \leq 10$
  1s

【Ynoi2016】【bzoj4939】掉进兔子洞 题解

题目大意

  一个长为 $n$ 的序列 $a$。
  有 $m$ 个询问,每次询问三个区间,把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和,询问独立。
  注意这里删掉指的是一个一个删,不是把等于这个值的数直接删完,
  比如三个区间是 $[1,2,2,3,3,3,3]$,$[1,2,2,3,3,3,3]$ 与 $[1,1,2,3,3]$,就一起扔掉了 1 个 $1$,1 个 $2$,2 个 $3$。

  $n,m \leq 10^5,~1 \leq a_i \leq 10^9$
  3s,512M

2019ICPC沈阳捡漏记

从南京回来

  从南京回来,我们就二连银了。
  我们互相说得最多的就是:“求求你做个人吧!”
  做个人,别演了,题要读要沟通,数据范围要看,智商在线一点,我不信我们连金牌队都不是。
  心好累的,不敢奢望什么校排、出线啥的,至少先把金保了,帮队友保个研。

【XVII Open Cup E.V. Pankratiev. Grand Prix of Europe. D】Dancing Disks 题解

题目大意

  有一个 $6 \times 6$ 的网格图,每个格子上有一根柱子。
  现在有 $n$ 个盘子套在 $(1,1)$ 的柱子上,自底向上分别为 $a_1,a_2,\cdots,a_n$(构成一个大小为 $n$ 的排列)。
  每次操作你可以选择一根柱子,将其最上面的连续若干个盘子拿起,往下走一格或往右走一格。
  请构造一种方案使得盘子最后有序套在 $(6,6)$(自底向上是 $n,n-1,\cdots,1$)。

  $n \leq 40000$

【CF1209G1+G2】Into Blocks (easy+hard) 题解

题目大意

  一个序列是好的,当且仅当,若两个元素相等,则它们之间的所有元素都相等,比如 $[3,3,3,4,1,1]$。
  现在有一个初始序列 $a_1,\cdots,a_n$,你要把它修改成好的。如果你把一个值为 $x$ 的元素改成 $y$,那么所有值为 $x$ 的元素都要改成 $y$。求最少需要修改多少个位置。
  在 hard version 中,还有 $q$ 次单点修改,每次修改都要回答一次。(在 easy version 中,$q=0$)

  $1 \leq n,a_i \leq 2 \times 10^5,~0 \leq q \leq 2 \times 10^5$
  5s

【XIV Open Cup E.V. Pankratiev. GP of SPb. H】Reachability 题解

题目大意

  一幅有向图有 $n$ 个结点,初始没有边。
  有 $q$ 个操作,四种类型:

  • $+\ o\ v\ k\ a_1\ \cdots\ a_k$:加入边 $(v,a_1),\cdots,(v,a_k)$
  • $+\ i\ v\ k\ a_1\ \cdots\ a_k$:加入边 $(a_1,v),\cdots,(a_k,v)$
  • $-\ o\ v\ k\ a_1\ \cdots\ a_k$:删除边 $(v,a_1),\cdots,(v,a_k)$
  • $-\ i\ v\ k\ a_1\ \cdots\ a_k$:删除边 $(a_1,v),\cdots,(a_k,v)$

  加边之前会保证原来没有这条边,删边之前会保证原来有这条边。
  每次操作后,可以得到一个连通性矩阵 $a$($a_{i,j}=1$ 表示 $i$ 能到 $j$),输出

  $1 \leq n \leq 400,\ 1 \leq q \leq 800,\ 1 \leq A,B \leq 10^9$
  3s

【2019 Multi-University 4 I】Linear Functions 题解

题目大意

  有 $n$ 个元素,第 $i$ 个元素在初始 $0$ 时刻时值为 $a_i$,此后每个时刻增加 $b_i$ 并模 $p_i$,即在 $t$ 时刻时值为 $(a_i+b_i\cdot t) \bmod p_i$,其中 $t$ 为整数。
  求

  输出这个最大值,及其对应的最早的时刻。

  $1 \leq n,T \leq 10^5,\ \ 0 \leq a_i,b_i < p_i,\ \ 5\times10^8 < p_i < 10^9$
  多测,$\sum n \leq 10^6$,80% 数据保证 $n \leq 1000$
  保证 $p_i$ 为质数;
  $a_i,b_i$ 在 $[0,p_i)$ 范围内随机生成;
  5s