「JSOI2010」排名】的更多相关文章

「JSOI2010」排名 传送门 看到先后顺序限制和字典序,很容易想到拓扑排序 + 贪心. 考虑具体做法: 对于第一问: 我们开一个大根堆来代替队列,然后从大到小构造出各个元素的排名. 我们连边 \(i \to a_i\) ,表示 \(i\) 要在 \(a_i\) 后面,也就是满足 \(a_i\) 在 \(i\) 前面. 然后我们拓扑排序的时候每次取出的都是当前编号最大的并把它放在后面,也就满足了字典序尽量小的原则. 对于第二问: 我们还是考虑用堆来代替队列,但此时是要使得字典序尽量大,所以我们…
「JSOI2010」挖宝藏 传送门 由于题目中说道挖一个位置的前提是挖掉它上面的三个,以此类推可以发现,挖掉一个点就需要挖掉这个点往上的整个倒三角,那么也就会映射到 \(x\) 轴上的一段区间(可以发现这种映射关系是一一对应的),那么我们就可以用一段区间来代表一个宝藏. 然后我们就先把所有区间按照右端点递增其次左端点递增排序. 接着考虑 \(\text{DP}\) ,我们设 \(dp_i\) 表示前 \(i\) 个区间中强制选第 \(i\) 个区间的最大利润, 那么在枚举转移点 \(j\) 时就…
「JSOI2010」找零钱的洁癖 传送门 个人感觉很鬼的一道题... 首先我们观察到不同的数最多 \(50\) 个,于是考虑爆搜. 但是这样显然不太对啊,状态数太多了. 然后便出现了玄学操作: \(\text{BFS}\) 的过程中,如果队列中的元素太多了(具体多少我也搞不清)就不搜了,相当于卡时. 但这样又可能会WA,然后就贪心一下就好了??? 我反正是不知道为什么可以 可以看这篇博客 参考代码: #include <algorithm> #include <cstdio> #i…
「JSOI2010」旅行 传送门 比较妙的一道 \(\text{DP}\) 题,思维瓶颈应该就是如何确定状态. 首先将边按边权排序. 如果我们用 \(01\) 串来表示 \(m\) 条边是否在路径上,那么我们就可以通过钦定前 \(x\) 条边在路径上来确定目标状态. 其中有的边消耗了魔法使用次数,有的没消耗. 那么我们就可以设 \(dp[i][j][k]\) 表示到点 \(i\) ,经过了前 \(j\) 条被钦定边,并且使用了 \(k\) 次魔法的最短路,那么转移就是(假设我们现在要从点 \(u…
问题描述 LG4171 BZOJ1823 题解 显然,每个评委对每个材料的满式/汉式要求是对\(n\)个元素的\(0,1\)取值限制. 显然想到\(\mathrm{2-SAT}\) 于是就可以切掉了. \(\mathrm{Code}\) #include<bits/stdc++.h> using namespace std; template <typename Tp> void read(Tp &x){ x=0;char ch=1;int fh; while(ch!='-…
前言 由于蒟蒻才刚开始学 \(\text{2-SAT}\),所以题解中有的地方可能不够精炼,望多包涵! 题目描述 题目意思很简单,标准的\(\text{2-SAT}\)问题模型.那么我们就先来介绍一下 \(\text{2-SAT}\) (以下是个人的小小概括) \(\text{2-SAT}\) 问题,抽象化一下,是这样的: 给出 \(n\) 个布尔变量 \(\{x_n\}\),以及 \(m\) 个命题 \((a,aa,b,bb)\),一个命题成立的条件是\([x_a=aa]\lor[x_b=bb…
题面 LOJ #6432. 「PKUSC2018」真实排名 注意排名的定义 , 分数不小于他的选手数量 !!! 题解 有点坑的细节题 ... 思路很简单 , 把每个数分两种情况讨论一下了 . 假设它为 \(x\) . 不对它进行翻倍操作 : 那么很容易发现 \(\displaystyle [\lceil \frac{x}{2}\rceil, x)\) 的数都不翻倍 . 其余部分任意 . 假设有 \(tot\) 个 . 那么这部分答案就是 \(\displaystyle \binom {n-tot…
Portal Description 给出一个\(n(n\leq10^5)\)个数的序列\(\{a_n\}\),对该序列进行\(n\)次操作.若在第\(i\)次操作前第\(i\)小的数在\(p_i\)位置,则翻转区间\([i,p_i]\).易知\(n\)次操作后序列会变为升序.求出每一次的\(p_i\). Solution splay. 题里的\(a_i\)是会重复的...所以先离散化一波,相同的数按位置排名.然后根据初始位置建一棵splay,每次将\(i\)旋转到根求左子树大小即可,区间翻转用…
「JSOI2014」学生选课 传送门 看到这题首先可以二分. 考虑对于当前的 \(mid\) 如何 \(\text{check}\) 我们用 \(f_{i,j}\) 来表示 \(i\) 对 \(j\) 的好感度排名,那么对于两个人 \(i\),\(j\) 如果有 \(\max\{f_{i, j}, f_{j, i}\} > mid\) 那么显然这两个人是不能上同一个老师的课的. 而且每个人可以上的课只有两种,我们记为 \(a_{i, 0 / 1}\) 假设 \(i\),\(j\) 对于当前的 \…
2015 年 9 月,Apple 重磅发布了全新的 iPhone 6s/6s Plus.iPad Pro 与全新的操作系统 watchOS 2 与 tvOS 9(是的,这货居然是第 9 版),加上已经发布的 iOS 9,它们都为前端世界带来了哪些变化呢?作为一个 web 开发者,是时候站在我们的角度来说一说了! 注! 该译文存在大量英文术语,笔者将默认读者知晓 ES6.viewport.native app.webview 等常用前端术语,并不对这些已知术语进行汉语翻译 对于新发布或较新的产品名…