该文被密码保护。 阅读全文
摘要:
先射一發博客,雖說還沒做幾個題吧,主要是怕以後懶得寫惹。 以例題爲主。 P3919 【模板】可持久化線段樹 1(可持久化數組) 題意: 給你一個長度爲\(n\)的數組和\(m\)次操作,要求設計一個可以支持單點修改歷史版本與單點查詢歷史版本的數據結構。 思路: 大可以每次操作都開一次線段樹,高效簡單 阅读全文
摘要:
謝謝你。 對於一個二元一次的方程式 $ax+by=c$,顯然當且僅當 $c$ 為 $gcd(a,b)$ 的倍數時,該方程有解。 在之前,我們用 $exgcd$ 找到了一組特解 $x,y$,而顯然通解是 $a(x+db)+b(y-da)=c$(消完之後就是原方程式)。 我們需要整數解,所以考慮使 $d 阅读全文
该文被密码保护。 阅读全文
摘要:
考完试了,找了几个数据结构题来愉(zuo)悦(jian)身(zi)心(ji)。 泪,射了出来。 One : CF438D & P4145 题意: 给定一个长度为\(n\)的数列和\(m\)个操作,一类操作是对位于\([l,r]\)范围内的所有的正整数单个取模或开方,另一类操作是查询\([l,r]\) 阅读全文
摘要:
挺神奇的说。 T1:匹配 题意:给定一个字符串和一个该字符串的子串,并在子串之后再添加一个字符,求修改后子串的后缀与原字符串的前缀的最大匹配长度。 思路:Hash或者KMP均可。考场上对着Hash冲(调)了半个多小时,发现进位进错了... 代码: #include <bits/stdc++.h> # 阅读全文
摘要:
大致理解了。 需要注意的在这几个地方: 有确定关系的才能建边,比如说:若$x$为$false$时$y$一定为$true$,则可以$add(x,y+n)$,若$x$为$false$时$y$可能为$true$也可能为$false$,则不能建边。 如果从$(x,false)$能走到$(x,true)$,说 阅读全文
摘要:
挺有价值的两个题 D Treelabeling 题意: E 和 S 在玩博弈游戏, E 先手 S 后手。 给一个 $n$ 个节点的树,节点的值包含 $[1,n]$ 中的每一个值。 E 先随便选择一个点,占领它(点 u ), S 只能选择与这个点相邻的,没有被占领的点(点 v )且这两个点满足 $u⊕ 阅读全文
摘要:
题意 给定一个长度为$n$的序列和$m$个询问,每次询问给出$l$和$r$,输出$[l,r]$内只出现一次的某个数字,若没有则输出$0$。$n,m<=5*10^5$。 思路 一眼莫队,然而刚开始为了维护中出现一次的数字集合使用了$set$或者$vector$都会在第$8$个测试点上卡死,在值域上直接 阅读全文
摘要:
简化题意 给定一棵具有$n$个节点的树,要求使某一条边权值边为0时,$m$个$u$到$v$的路径长度的最大值最小。\(100 \le n \le300000,1 \le\ m \le300000\) 思路 首先,求$u$到$v$的路径长度肯定可以用到树剖和线段树。 其次因为要使最大值最小,所以我们不 阅读全文