[HG]腿部挂件 题解】的更多相关文章

前言 暴力跑的比正解快. 以下暴力(循环展开+fread读入输出优化) #include<cstdio> #pragma GCC optimize(3, "Ofast") int a[200010]; namespace fast_IO{ const int IN_LEN = 10000000, OUT_LEN = 10000000; char ibuf[IN_LEN], obuf[OUT_LEN], *ih = ibuf + IN_LEN, *oh = obuf, *la…
前言 模拟赛赛时SubtaskR3没开long long丢了20分. 题意简述 题目描述 对于一棵有根树(设其节点数为 \(n\) ,则节点编号从 \(1\) 至 \(n\) ),如果它满足所有非根节点的编号均比起父亲更大,我们就说它是Y树. 此外,出题人给出了 \(k\) 个整数 \(a_1, \dots, a_k\),并规定,只要一棵有根树存在一个子树包含的节点数恰好为 \(a_1, \dots, a_k\) 中的某一个值,那么它不符合条件: 现给定 \(n,k,a1,\dots,ak\),…
前言 整个机房就我一个人在想动态规划. 想了半天发现一堆性质,结果由于DP中出现折线挂了. 题目描述 某NOIP普及组原题加强版. \(Jim\) 非常怕黑,他有一个手电筒,设手电筒的电量上限为 \(T\) . \(Jim\) 回家的路上有 \((N + 1)\) 个充电站, \(0\) 是起点 \(N\) 是终点, \(Jim\) 每走一个单位距离消耗一个单位的电量. 给出每个充电站到下一个充电站的距离 \(D\) ,以及冲单位电量的花费 \(P\) ,求整个旅途的最少花费. P.S. 如果…
首先很容易想到暴力DP 设状态f[i][j]表示当前放了第i个数,最大的数为j的方案数. 然后根据转移推出实际上是在下图走路的方案数 \[ \left( \left( \begin{matrix} x + y - 2 \\ x - 1 \end{matrix} \right)- \left( \begin{matrix} x+y-2 \\ x-2 \end{matrix} \right) \right) \times \left(\left( \begin{matrix} 2n-x-y \\ n…
Problem A 腿部挂件 给出$n$个数的序列$a_i$,支持$T$次操作. 每次操作形如$x , l , r$,计算$\max_{i = l}^{r} (a_i \oplus x)$的值. 对于$100\%$的数据满足$1 \leq n \leq 2 \times 10^5 , 0 \leq a_i \leq 10^9$ Solution : 通常可以使用可持久化字典树求解,但是这里可以用字典树套vector来做. 这样当当前节点vector有一个在$l,r$的数中就往下走,还是按照以前的…
更好的阅读体验&惊喜&原文链接 感谢@yxc的腿部挂件 大佬,指出本文不够严谨的地方,万分感谢! Tarjan无向图的割点和桥(割边) 导言 在掌握这个算法前,咱们有几个先决条件. [x] DFS搜索 [x] DFS序 [x] 一张纸 [x] 一支笔 [x] 认真的大脑(滑稽) 如果您都具备了,那么您就是巨佬了,您就可以轻松解决Tarjan算法了. 初学算法 概念掌握 割点 概念定义什么的,看上去好烦好烦好烦的,怎么办呢? Acwing小剧场开播了,门票一枚AC币. 现在Acwing推出了…
题目描述 在比特镇一共有 \(n\) 家商店,编号依次为 \(1\) 到 \(n\). 每家商店只会卖一种物品,其中第 \(i\) 家商店的物品单价为 \(c_i\),价值为 \(v_i\),且该商店开张的时间为 \(t_i\). \(Byteasar\) 计划进行 \(m\) 次购物,其中第 \(i\) 次购物的时间为 \(T_i\),预算为 \(M_i\) 每次购物的时候,\(Byteasar\) 会在每家商店购买最多一件物品,当然他也可以选择什么都不买 如果购物的时间早于商店开张的时间,…
C 小G坐电梯 题目描述 小G来到了著名的某大厦.大厦一共有n层,初始的时候小G在第 A 层. 小G特别想去B层小 M 的办公室看一看,然而因为安保原因,B层已经被封锁无法进入. 但是小G既然来了,就想在大厦里面逛一逛.大厦里面有一部电梯,小G决定坐 k 次电梯. 因为小G比较无聊,他给自己设定了这样一个规矩:假如当前他在x层,则他要去的下一个楼层y和x的楼层差必须要小于 x 和 B 的楼层差,即 \(|x−y| < |x−B|\) . 每到达一个楼层,小G都要记录下来其楼层号. 当小G转完一圈…
前言 学长博客划水,抄题解,差评. 于是我来重新写一篇正常的题解,虽然解法跟标程不一样,但是复杂度是一样的. 题面 题目描述 在比特镇一共有\(n\)个街区,编号依次为\(1\)到\(n\),它们之间通过若干条单向道路连接. 比特镇的交通系统极具特色,除了\(m\)条单向道路之外,每个街区还有一个编码\(val_i\), 不同街区可能拥有相同的编码.如果\(val_i\ and\ val_j = val_j\)(博主注:and这里指位与,即C++中的&), 即\(val_i\)在二进制下与\(v…
题面 钻石游戏(diamond) 问题描述: 一个\(M\)行\(N\)列的棋盘,里面放了\(M \times N\)个各种颜色的钻石. 每一次你可以选择任意两个相邻的颜色不同的钻石,进行交换.两个格子相邻的定义是两个格子有一条公共边. 每次交换的分值为通过这次交换后能够形成的最大矩形的面积,具体请见样例. 跟传统的钻石游戏不太一样的是,交换后钻石不会消除.现在告诉你每一次操作, 请输出每一次所能得到的分值. 问题输入:  第一行二个整数\(M,N\).  接下来\(M\)行\(N\)列,表示第…