2021.11.05 eleveni的水省选题的记录

因为eleveni比较菜,但是eleveni不想写绿题(总不能说是被绿题虐得不想写),eleveni决定继续水noip原题。

——实际上菜菜的eleveni连noip绿题都不一定能水过/忍不住哭了

[P1966 NOIP2013 提高组] 火柴排队 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

本质就是求逆序对的题

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<queue>
#include<map>
using namespace std; //最大对最大???WF一道题???
#define int long long
const int N=1e6+10;
const int mod=1e8-3;
int n,a[N],b[N],ai[N],bi[N],mapi[N];
int tree[N]; inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')w=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
}
inline int lowbit(int x){
return x&-x;
}
inline void add(int x,int k){
for(int i=x;i<=n;i+=lowbit(i))tree[i]+=k;
}
inline int query(int x){
int fin=0;
for(int i=x;i>0;i-=lowbit(i))fin+=tree[i];
//cout<<fin;
return fin;
} signed main(){
n=read();
for(int i=1;i<=n;i++)ai[i]=a[i]=read();
sort(ai+1,ai+n+1);
int lena=unique(ai+1,ai+n+1)-ai-1;
for(int i=1;i<=n;i++)a[i]=lower_bound(ai+1,ai+lena+1,a[i])-ai;
for(int i=1;i<=n;i++)bi[i]=b[i]=read();
sort(bi+1,bi+n+1);
int lenb=unique(bi+1,bi+n+1)-bi-1;
for(int i=1;i<=n;i++)b[i]=lower_bound(bi+1,bi+lenb+1,b[i])-bi;
for(int i=1;i<=n;i++)mapi[a[i]]=i,a[i]=i;
for(int i=1;i<=n;i++)b[i]=mapi[b[i]];
//for(int i=1;i<=n;i++)cout<<b[i]<<" ";cout<<endl;
int ans=0;
for(int i=n;i>=1;i--){
ans+=query(b[i]);ans%=mod;
add(b[i],1);
//for(int j=1;j<=10;j++)cout<<tree[j]<<" ";
}
cout<<ans;
return 0;
}

[P3605 USACO17JAN]Promotion Counting P - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std; const int N=1e5+10;
typedef long long ll;
int n,a[N],ai[N],cnt,head[N],tree[N],ans[N];
struct node{
int to,next;
}e[N]; inline int read(){
int s=0,w=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')w=-1;
ch=getchar();
}
while(ch<='9'&&ch>='0'){
s=s*10+ch-'0';
ch=getchar();
}
return s*w;
}
inline int lowbit(int x){
return x&-x;
}
inline void addi(int x,int k){
for(int i=x;i<=n;i+=lowbit(i))tree[i]+=k;
}
inline int query(int x){
int fin=0;
for(int i=x;i>0;i-=lowbit(i))fin+=tree[i];
return fin;
}
inline void add(int u,int v){
++cnt;
e[cnt].to=v;
e[cnt].next=head[u];
head[u]=cnt;
}
inline void dfs(int x){
ans[x]-=query(n)-query(a[x]-1);
for(int i=head[x];i;i=e[i].next){
int v=e[i].to;
dfs(v);
}
ans[x]+=query(n)-query(a[x]-1);
addi(a[x],1);
} int main(){
n=read();
for(int i=1;i<=n;i++)ai[i]=a[i]=read();
sort(ai+1,ai+n+1);
int len=unique(ai+1,ai+n+1)-ai-1;
for(int i=1;i<=n;i++)a[i]=lower_bound(ai+1,ai+len+1,a[i])-ai;
for(int i=2;i<=n;i++){
int x=read();
add(x,i);
}
dfs(1);
for(int i=1;i<=n;i++)cout<<ans[i]<<endl;
return 0;
}

2021.11.05 eleveni的水省选题的记录的更多相关文章

  1. 2021.11.30 eleveni的水省选题的记录

    2021.11.30 eleveni的水省选题的记录 因为eleveni比较菜,eleveni决定先刷图论,再刷数据结构,同时每天都要刷dp.当然,对于擅长的图论,eleveni决定从蓝题开始刷.当然 ...

  2. 2021.11.02 eleveni的水省选题的记录

    2021.11.02 eleveni的水省选题的记录 因为eleveni比较菜,所以eleveni决定从绿题开始水 --实际上菜菜的eleveni连绿题都不一定能水过/忍不住哭了 [P2217 HAO ...

  3. 2021.12.16 eleveni的刷题记录

    2021.12.16 eleveni的刷题记录 1. 数论 https://www.luogu.com.cn/problem/P2532 1.1卡特兰数 https://www.luogu.com.c ...

  4. 日常Javaweb 2021/11/19

    Javaweb Dao层: //连接数据库,实现增查功能 package dao; import java.sql.Connection; import java.sql.DriverManager; ...

  5. 日常Java 2021/11/18

    用idea实现Javaweb登录页面 <%-- Created by IntelliJ IDEA. User: Tefuir Date: 2021/11/18 Time: 18:14 To ch ...

  6. 2021.12.21 eleveni的刷题记录

    2021.12.21 eleveni的刷题记录 0. 有意思的题 P6701 [POI1997] Genotype https://www.luogu.com.cn/problem/P6701 状压优 ...

  7. 2021.12.19 eleveni的刷题记录

    2021.12.19 eleveni的刷题记录 0. 本次记录有意思的题 0.1 每个点恰好经过一次并且求最小时间 P2469 [SDOI2010]星际竞速 https://www.luogu.com ...

  8. 2021.11.16 P2375 [NOI2014] 动物园(EXKMP+差分)

    2021.11.16 P2375 [NOI2014] 动物园(EXKMP+差分) https://www.luogu.com.cn/problem/P2375 题意: PS:这道神题的背景让人疑惑,重 ...

  9. 2021.11.14 CF1583E Moment of Bloom(LCA+图上构造)

    2021.11.14 CF1583E Moment of Bloom(LCA+图上构造) https://www.luogu.com.cn/problem/CF1583E 题意: She does h ...

随机推荐

  1. Django 之 modelForm (edit.html页面的编写)

    models.py文件 from django.db import models # Create your models here. from django.db import models # C ...

  2. sql注入之查询方式及报错注入

    当进行sql注入时,有很多注入会出无回显的情况,其中不回显的原因可能是sql语句查询方式的问题导致的,这个时候我们需要用到相关的报错或盲注进行后续操作,同时作为手工注入时,提前了解或预知器sqkl语句 ...

  3. A5/web项目连接Oracle 12c数据库报:ORA-01017: 用户名/口令无效

    解决办法: 修改Oracle12c用户名密码,再改回来,就ok了,亲测有效.

  4. Dubbo 集群容错有几种方案?

    集群容错方案 说明 Failover Cluster 失败自动切换,自动重试其它服务器(默认) Failfast Cluster 快速失败,立即报错,只发起一次调用 Failsafe Cluster ...

  5. Java 线程具有五中基本状态 ?

    1.新建状态(New):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(): 2.就绪状态(Runnable):当调用线程对象的 start()方法(t.st ...

  6. SpringBoot打包成可执行的Jar文件

    需要时SpringBoot项目 通过创建可以在生产环境中运行的完全独立的可执行jar文件来结束示例.可执行jar(有时称为"胖jar")是包含您的已编译类以及代码需要运行的所有ja ...

  7. 微信小程序中涉及虚拟产品购买,ios暂不支持的相关整理意见

    这个东西呢也不能怪微信小程序,属实苹果搞的事情,那怎么小程序相关内容去通过审核呢? 首先我们要搞清楚哪些属于虚拟商品:如某某书币,某某会员,或者是提前编辑好的网课,文档等都属虚拟商品购买,简言之就是没 ...

  8. 攻防世界baby_web

    baby_web 题目提示想想初始页,但我们一访问就会跳转到1.php我们使用bp抓包分析,我们发送到repeater模块修改请求访问1.php内容看看 发现flag隐藏了我们去hex中看看 这样我们 ...

  9. kali Linux 渗透测试 | ettercap图形界面(ARP 欺骗 + DNS欺骗)

    上次我们使用 arpspoof 工具在命令行中完成了 arp 欺骗实验,今天我们用另一种工具 ettercap 工具来实现.ettercap支持图形化操作,对新手非常友好,并且操作非常简单, ette ...

  10. Mongo实验

    MongoDB数据库操作 Student: { "name": "zhangsan", "score": { "English&q ...