首页 > TAG信息列表 > rnk

CF1618G Trader Problem

原题链接 ← Click it 这题难产了快一个月终于决定要攻克下来 题目大意:现在你手里有\(n\)件物品,它们的价值分别是\(a_1,a_2,...,a_n\),你现在可以和一个商人交换物品,他有\(m\)件物品,价值分别为\(b_1,b_2,...,b_m\),价值为\(w\)的物品,最多可以与价值为\(w + k\)的物品交换,现在你有\(

【YBT2022寒假Day2 B】【luogu CF809D】模糊序列 / Hitchhiking in the Baltic States(平衡树优化DP)(fhq-Treap)

模糊序列 / Hitchhiking in the Baltic States 题目链接:YBT2022寒假Day2 B / luogu CF809D 题目大意 给你一个序列,然后每个位置有可以选的数的范围。 然后要你找到对于所有可能的序列它严格上升子序列的最大长度。 思路 很明显的 DP。 考虑列方程,发现数的范围很大,考虑从答案序列长

[可能有用科技]最小直径生成树

前言 NOI2021 都考了 LGV 引理,那以后难道没有那么一点(?)可能考最小直径生成树呢? 树直径与最小直径生成树 直径是图中所有最短路径的最大值. 最小直径生成树问题 : 给定一个 \(n\) 个点 \(m\) 条边的无向连通图,边有边权. 求一个生成树使得树的直径最小. 首先引入 图的绝对中心.

【纪念】我写过几乎最长的代码

题意 题解 数据结构分析题. 首先观察到有两个维度的信息, 领导力和年龄 对于每个询问, x y, 我们需要知道的是谁来当领导, 暴力枚举可以拿到一些暴力分 注意到领导的领导能力必须要大于等于这两个人中的较大值. 这里凭借直觉我们可以大概感受到应该按照领导能力从大到小去离线

【ybtoj高效进阶 21265】排队问题(fhq-Treap)(构造)

排队问题 题目链接:ybtoj高效进阶 21265 题目大意 给你每个人的身高和要求,每个人的身高都不同。 每个人的要求是要它左边比他高的人或右边比他高的人个数是它给出的值。 然后要你找出字典序最小的满足的身高序列。 思路 我们考虑把人按身高从小到大排序,然后我们不难想到如果把身高

最小生成树算法Kruskal

目录最小生成树算法1、Kruskal1.1 算法简介1.2 C++实现 最小生成树算法 最小树定义: 给定网络\(G=(N,E,W)\),设\(T=(N,E')\)为\(G\)的一个支撑树,令\(W(T)=\sum_{e\in E'}W(e)\)为\(T\)的权(或长)。\(G\)中权最小的支撑树称为\(G\)的最小树。 1、Kruskal 并查集:用一个元素代表一组

LOJ#2369. 「BalticOI 2008」魔法石

题目链接 LOJ #2369. 「BalticOI 2008」魔法石 题目大意 一个字符串由 \(X\) 和 \(I\) 组成,定义两个串是相同的当且仅当一个串可以通过翻转(头尾倒过来)另一个串得到,我们取字典序较小的那个作为该串的表达方式,求在长度为 \(n\) 的串中,满足「 \(X\) 和 \(I\) 相邻的地方数量 \(\leq k

MySQL-分析函数-rank-排名/排序

有三个函数:   rank()   dense_rank()   row_number() 拿一个表Employee作为例子: Name Salary --------------- abc 100000 bcd 1000000 efg 40000 ghi 500000 jkl 500000 查询脚本: ```sql select name,   salary,   rank() over(order by salary

后缀数组好题选讲(1)

涉及到的处理问题套路 将字符串复制成两份并连在一起,求出每个字符的后缀排名,再求解 注意事项 注意拼接的字符串中间是否应该加分隔符 luogu P4051 字符加密 题意简述 给定一个长度为$n$的字符串,将其首尾相接,然后从每一个位置开始读出一个长度为$n$的字符串,得到$n$个不同的字符串,将

P5787 【模板】线段树分治

题目描述 神犇有一个 \(n\) 个节点的图。 因为神犇是神犇,所以在 \(k\) 时间内有 \(m\) 条边会出现后消失。 神犇要求出每一时间段内这个图是否是二分图。 这么简单的问题神犇当然会做了,于是他想考考你。 原 BZOJ4025。 输入格式 第一行三个整数 \(n,m,k\)。 接下来 \(m\) 行,每行四

「模板」后缀数组

目录 伪链表实现基数排序 经典写法实现基数排序 经过本蒟蒻大约两天的努力,总算是把后缀数组的模板写出来了 然而 ZXY 大佬已经 AK 了 我们不能和这种神仙比,还是自己比比就好了... 我的后缀数组实现有两个版本,其实他们的本质区别就在于基数排序的实现的部分。 后面会加入求 h

BZOJ 4310 跳蚤

BZOJ 4310 跳蚤 不太会做,看了题解才会的。 首先要二分子串。后缀排序后,本质不同子串个数其实就是 $ \sum_i n + 1 - sa[i] - height[i] $ ,考虑排序后的后缀,本质不同的子串个数其实就是本质不同这些后缀的前缀个数。一个后缀的贡献就是这个后缀的所有前缀,减去自己和上一个后缀的 LC

队列变换「USACO 2007」

【题目描述】 FJ打算带他的\(N(1 \leq N \leq 30,000)\)头奶牛去参加一年一度的“全美农场主大奖赛”。在这场比赛中,每个参赛者都必须让他的奶牛排成一列,然后领她们从裁判席前依次走过。 今年,竞赛委员会在接受队伍报名时,采用了一种新的登记规则:他们把所有队伍中奶牛名字的首字母取

[SCOI2012]喵星球上的点名

Link Description  一共\(n\)个人,每个人有两个名字串。再给定\(m\)个点名串。询问每个点名串是多少人名字串的子串。第二问询问对于每个人,一共有多少点名串是其两名字串(满足一个串即可)的子串。 Solution SA+莫队。 结论:串\(T\)是串\(S\)的子串,应当满足串\(S\)有某个后缀和串\(T

洛谷P2590 [ZJOI2008]树的统计

还是树剖模板啊QwQ #include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #define maxn 600100 using namespace std; struct node { long long max_num,sum; }; node tree[maxn<<2]; int n,m; long long num[maxn],num