摘要: B 很明显,第一位肯定是能比较出大小的 然后1 换a过来,2 换b过来 3 a也换b也换 法1 当时的乱搞写法 存下位置,排序值,st表找合适值域中位置最小值 int n,a[N],lg[N],minn[N][50],ans; struct node { int val; int pos; bool 阅读全文
posted @ 2021-09-21 21:59 PdrEam 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 1003-Ink on paper 队友写的prim,本题数据卡克鲁斯卡尔 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; ll x[5005],y[5005]; int cnt,father[500 阅读全文
posted @ 2021-08-13 17:46 PdrEam 阅读(65) 评论(0) 推荐(0) 编辑
摘要: https://codeforc.es/contest/1549/problem/D 差分 gcd st 尺取/二分 #include<bits/stdc++.h> #define inf 1e18 #define ll long long #define ull unsigned long lon 阅读全文
posted @ 2021-08-11 16:12 PdrEam 阅读(36) 评论(0) 推荐(0) 编辑
摘要: dd爱科学1.0 最长不下降子序列。。。 dd爱科学2.0 每次改成啥不知道,要求结果最大化 一看1e6,暴力dp上 int a[N],n,dp[N][30]; char s[N]; void solve(){ cin>>n;cin>>s+1; for(int i=1;i<=n;++i){ a[i] 阅读全文
posted @ 2021-05-31 22:27 PdrEam 阅读(37) 评论(0) 推荐(0) 编辑
摘要: https://ac.nowcoder.com/acm/contest/16520#question A★★比赛新机制★★ 环形取数,取n个 可以正取也可以逆取,第一个取的贡献n次,第二个n-1,第n个1次。 长的很像前缀和,然后递推一下,每次算上新的,利用前缀和改一下。 逆取直接sum*(n+1) 阅读全文
posted @ 2021-05-30 12:54 PdrEam 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题意:给一数组,求原数组,给定的数组第i位表示原数组1到i的最大值。输出可能的原数组的最小字典序和最大字典序。 最小字典序:第一次出现的ai即是当前点,那么其他的顺序从小到大写就完了。 最大字典序:类似并查集的路径优化 int a[N],ans1[N],ans2[N],mp[N],n; int fi 阅读全文
posted @ 2021-05-10 19:42 PdrEam 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 很有意思的交互题 给定n*n的棋盘,有三个数123可供选择填,要求是任意格子的上下左右不能和本格相同。 每次给一个数,要求本次填写不能用该数。 考虑到两个数字的符合情况的解 1 2 1 2 2 1 2 1 1 2 1 2 2 1 2 1 那么结论就是 不让我们用1,我们就填2 不让我们用2,我们就填 阅读全文
posted @ 2021-05-08 22:26 PdrEam 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 查询第k个0 t 1e4 n 2e5,提问上限6e4 线段树保存改变影响 struct node{ int l,r,val;//0的个数 }tr[N<<2]; void build(int o,int l,int r){ tr[o].l=l,tr[o].r=r;tr[o].val=-1; if(l= 阅读全文
posted @ 2021-05-07 21:20 PdrEam 阅读(66) 评论(0) 推荐(0) 编辑
摘要: 输出将字符串中的∗全部放到一起所需要的最小步数。 只有当移动的位置是.才能移动 中位数:将数组大小为n的数据,从大到小,或者是从小到大排列,那么当n为奇数的时候,中位数就是(n+1)/2的这个数,当n为偶数的时候,中位数就是n/2和(n+1)/2这二个数据的平均数。 所有元素到中位数的距离之和最小 阅读全文
posted @ 2021-05-06 23:19 PdrEam 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 这题的正确性就很神奇 给若干个矩形的宽,高都是1,给每层的限定宽度,问最少多少层。 一般的想法就是每层都尽量填,一直到填不下去为止。 一种做法是搞一个multiset 然后遍历每个矩形,往最大的那个层丢,不行就开新层 还有一种做法是,设一层 二分找能丢进去的矩形,直到不能丢进去,然后再设新层,新丢进 阅读全文
posted @ 2021-04-28 23:01 PdrEam 阅读(76) 评论(0) 推荐(0) 编辑