摘要:
1. 题目大意: 给一个长度为n的的数组a,n是1到1e5,ai是1到1e5,问a的所有排序的序列的逆序对之和,会有重复的数字出现 题目链接:https://ac.nowcoder.com/acm/contest/46597/E typedef long long ll; typedef long 阅读全文
摘要:
https://www.nowcoder.com/discuss/1006895?channel=-1&source_id=discuss_terminal_nctrack&trackId=undefined 阅读全文
摘要:
以下题目按照我个人看法从易到难 注意我个人习惯性 define int long long! K 显然题意就是求从 \(l\) 加到 \(r\) ll calc(ll x){ return x * (x + 1) / 2; } void solve(){ int l, r; cin >> l >> 阅读全文
摘要:
题目大意 有一个长度为n的排列,$p=(p_1,p_2,p_3,p_4...,p_n)$,然后对于排列$p$的得分$S(p)$遵循一下规则: 有$n$个人,第$i$个人的编号为$i$,然后第$i$个人有一个球,球的编号为$i$,每次操作,第$i$个人会把他手里的球给第$p_i$个人,然后问你最少 阅读全文
摘要:
Problem A. balloon 将两个序列从小到大排序,从跳跃高度较低的人考虑到跳跃高度较高的人,使用一个变量 $\text{now}$ 维护当前取到的气球,若气球能取就取,不能取就换成下一个人。 时间复杂度的瓶颈在于排序。 #include <iostream> #include <a 阅读全文
摘要:
对于每个数字$a_i$ ,我们都建立一个新的版本,如果之前已经出现过,假设位置为$last_$就在第 \(i\) 个版本的 \(last_{a_i}\) 删去,然后在新的位置更新 这样的话,对于每个k,我们从第n个版本开始,查询子树大小为 \(i+1\) ,且最左边的的数字出现的版本,然后更新,不停 阅读全文
摘要:
https://www.luogu.com.cn/blog/I-love-saber/solution-p1935 #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N 阅读全文
摘要:
https://www.luogu.com.cn/blog/CJL/solution-p4313 #include<iostream> #include<cstring> using namespace std; const int N=400020; #define int long long c 阅读全文
摘要:
t1 这题数据范围不大,就直接暴力模拟,开两个临时数组,搞两个指针,直接套就好,具体看代码 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int 阅读全文