CF #546 D.E
D
coun[i]表示[i]这个数右边有多少个数j能和他组成题中所给的二元组(i,j)
如果一个数的coun[i]=n-i-ans 那么说明他可以与最后一个交换 同时不计算贡献 因为它是向右走的 对左边没有贡献
#include<bits/stdc++.h>
using namespace std;
int num[];
vector<int> f[];
int coun[];
int main() {
int n, m;
scanf("%d %d", &n, &m);
for (int i = ; i <= n; i++) {
scanf("%d", &num[i]);
}
int a, b;
for (int i = ; i <= m; i++) {
scanf("%d %d", &a, &b);
f[b].push_back(a);
}
int ans = ;
for (int i = ; i < f[num[n]].size(); i++) {
int now = f[num[n]][i];
coun[now]++;
}
for (int i = n - ; i >= ; i--) {
int now = num[i];
if (coun[now] == n - i - ans) {
ans++;
} else {
for (int v : f[now]) {
coun[v]++;
}
}
}
printf("%d\n", ans);
return ;
}
E
令k[i]的前缀和为c[i] 则题目中的要求Ai+1>=Ai+ki两边同时减去c[i]可以变成Ai+1-c[i]>=Ai-c[i-1] 再令b[i]=Ai-c[i-1] 变成b[i+1]>=b[i]
询问中的求和就直接求b[i]的和再补上减去的c[i]即可 单点修改操作则是二分求第一个大于等于b[i]+x的位置再区间修改即可
CF #546 D.E的更多相关文章
- CF 546 B Soldier and Badges(贪心)
原题链接:http://codeforces.com/problemset/problem/546/B 原题描述: Soldier and Badges Colonel has n badges. H ...
- ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'
凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- cf Round 613
A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...
- ARC下OC对象和CF对象之间的桥接(bridge)
在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...
- [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现
1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...
- CF memsql Start[c]UP 2.0 A
CF memsql Start[c]UP 2.0 A A. Golden System time limit per test 1 second memory limit per test 256 m ...
- CF memsql Start[c]UP 2.0 B
CF memsql Start[c]UP 2.0 B B. Distributed Join time limit per test 1 second memory limit per test 25 ...
- CF #376 (Div. 2) C. dfs
1.CF #376 (Div. 2) C. Socks dfs 2.题意:给袜子上色,使n天左右脚袜子都同样颜色. 3.总结:一开始用链表存图,一直TLE test 6 (1)如果需 ...
随机推荐
- mysql数据库查找数据的方法。
今日内容 1.外键的变种 唯一索引:关键字 unique(num) 作用:使指定的列,中的属性不能重复,并且加速查找案例:create table t5(id int,num int,unique(n ...
- 快速搭建WordPress博客
博主在看了朋友的博客后 决定也搭建一个wordPress 博客 思路 1.购买服务器 2.Cenots环境配置 3.安装wordpress 工具 推荐使用 Xshell 6,当然也可以用其他 服务器推 ...
- APP安全_Android反编译
反编译 Android的反编译工具:apktool,JEB等. Apk 文件的结构,如下: META-INF:签名文件 res:资源文件,里面的 xml 格式文件在编译过程中由文本格式转化为二进制的 ...
- Exchange2010---反垃圾邮件配置
Exchange2010---反垃圾邮件配置 Exchange2010---反垃圾邮件配置 本文以Exchange Server 2010作为反垃圾邮件配置实例为例. 其实,在微软发布的Exc ...
- java 8 Base64用法
Java 8的java.util套件中,新增了Base64的类别,可以用来处理Base64的编码与解码,用法如下: final Base64.Decoder decoder = Base64.getD ...
- tar:归档中找不到 tar: 由于前次错误,将以上次的错误状态退出
今天解压ZendStudio-10.0.0-x86.tar.gz,使用命令tar -zxvf ZendStudio-10.0.0-x86.tar.gz ./然后报下面错误tar: /tm: 归档中找不 ...
- hdoj5909 Tree Cutting(点分治+树上dp转序列dp)
题目链接:https://vjudge.net/problem/HDU-5909 题意:给一颗树,结点带权值v[i]<m.求异或和为k的子树个数(0<=k<m). 思路: 首先点分治 ...
- python -- TypeError: 'module' object is not callable
文件: 代码: import pprintmessge = 'It was a bringht cold day in April,and the clocks were striking thrir ...
- java8 用法小结
一 简单的stream parallelStream慎用,除非你知道它内部干了什么 List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, ...
- spring-boot 连接数据库(六)
环境 jdk 6 tomcat 6.0.53 sts 4.4.2 maven 3.2.5 mysql 5.7 准备 接下来的数据库操作基于 mysql,所以需要一套可用的 mysql 环境. 引入 j ...