2021.11.05 eleveni的水省选题的记录

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

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

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

本质就是求逆序对的题

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<queue>
  6. #include<map>
  7. using namespace std;
  8. //最大对最大???WF一道题???
  9. #define int long long
  10. const int N=1e6+10;
  11. const int mod=1e8-3;
  12. int n,a[N],b[N],ai[N],bi[N],mapi[N];
  13. int tree[N];
  14. inline int read(){
  15. int s=0,w=1;
  16. char ch=getchar();
  17. while(ch<'0'||ch>'9'){
  18. if(ch=='-')w=-1;
  19. ch=getchar();
  20. }
  21. while(ch<='9'&&ch>='0'){
  22. s=s*10+ch-'0';
  23. ch=getchar();
  24. }
  25. return s*w;
  26. }
  27. inline int lowbit(int x){
  28. return x&-x;
  29. }
  30. inline void add(int x,int k){
  31. for(int i=x;i<=n;i+=lowbit(i))tree[i]+=k;
  32. }
  33. inline int query(int x){
  34. int fin=0;
  35. for(int i=x;i>0;i-=lowbit(i))fin+=tree[i];
  36. //cout<<fin;
  37. return fin;
  38. }
  39. signed main(){
  40. n=read();
  41. for(int i=1;i<=n;i++)ai[i]=a[i]=read();
  42. sort(ai+1,ai+n+1);
  43. int lena=unique(ai+1,ai+n+1)-ai-1;
  44. for(int i=1;i<=n;i++)a[i]=lower_bound(ai+1,ai+lena+1,a[i])-ai;
  45. for(int i=1;i<=n;i++)bi[i]=b[i]=read();
  46. sort(bi+1,bi+n+1);
  47. int lenb=unique(bi+1,bi+n+1)-bi-1;
  48. for(int i=1;i<=n;i++)b[i]=lower_bound(bi+1,bi+lenb+1,b[i])-bi;
  49. for(int i=1;i<=n;i++)mapi[a[i]]=i,a[i]=i;
  50. for(int i=1;i<=n;i++)b[i]=mapi[b[i]];
  51. //for(int i=1;i<=n;i++)cout<<b[i]<<" ";cout<<endl;
  52. int ans=0;
  53. for(int i=n;i>=1;i--){
  54. ans+=query(b[i]);ans%=mod;
  55. add(b[i],1);
  56. //for(int j=1;j<=10;j++)cout<<tree[j]<<" ";
  57. }
  58. cout<<ans;
  59. return 0;
  60. }

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

  1. #include<cstdio>
  2. #include<iostream>
  3. #include<algorithm>
  4. #include<cstring>
  5. using namespace std;
  6. const int N=1e5+10;
  7. typedef long long ll;
  8. int n,a[N],ai[N],cnt,head[N],tree[N],ans[N];
  9. struct node{
  10. int to,next;
  11. }e[N];
  12. inline int read(){
  13. int s=0,w=1;
  14. char ch=getchar();
  15. while(ch<'0'||ch>'9'){
  16. if(ch=='-')w=-1;
  17. ch=getchar();
  18. }
  19. while(ch<='9'&&ch>='0'){
  20. s=s*10+ch-'0';
  21. ch=getchar();
  22. }
  23. return s*w;
  24. }
  25. inline int lowbit(int x){
  26. return x&-x;
  27. }
  28. inline void addi(int x,int k){
  29. for(int i=x;i<=n;i+=lowbit(i))tree[i]+=k;
  30. }
  31. inline int query(int x){
  32. int fin=0;
  33. for(int i=x;i>0;i-=lowbit(i))fin+=tree[i];
  34. return fin;
  35. }
  36. inline void add(int u,int v){
  37. ++cnt;
  38. e[cnt].to=v;
  39. e[cnt].next=head[u];
  40. head[u]=cnt;
  41. }
  42. inline void dfs(int x){
  43. ans[x]-=query(n)-query(a[x]-1);
  44. for(int i=head[x];i;i=e[i].next){
  45. int v=e[i].to;
  46. dfs(v);
  47. }
  48. ans[x]+=query(n)-query(a[x]-1);
  49. addi(a[x],1);
  50. }
  51. int main(){
  52. n=read();
  53. for(int i=1;i<=n;i++)ai[i]=a[i]=read();
  54. sort(ai+1,ai+n+1);
  55. int len=unique(ai+1,ai+n+1)-ai-1;
  56. for(int i=1;i<=n;i++)a[i]=lower_bound(ai+1,ai+len+1,a[i])-ai;
  57. for(int i=2;i<=n;i++){
  58. int x=read();
  59. add(x,i);
  60. }
  61. dfs(1);
  62. for(int i=1;i<=n;i++)cout<<ans[i]<<endl;
  63. return 0;
  64. }

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. 定位一个oom问题

    当系统出现oom问题时,我们一般的定位思路是怎样的? 系统OOM常见的原因有: 1.用户态内存需求过多,资源不足: 2.大页配置不正确: 3.水位线值异常: 4.slab内存过多: 5.rcu异常: ...

  2. Git 工作流简介

    1.概述 工作流有各式各样的用法,但也正因此使得在实际工作中如何上手使用增加了难度.这篇指南通过总览公司团队中最常用的几种 Git 工作流让大家可以上手使用. 在阅读的过程中请记住,本文中的几种工作流 ...

  3. Windows 8下完美使用Virtual PC 2007(virtual pc 2007 64 win8 兼容性)

    Windows 8下完美使用Virtual PC 2007(virtual pc 2007 64 win8 兼容性) 一.从微软的官方网站下载Virtual PC 2007 SP1英文版,文件名为se ...

  4. Java基础 - 注解详解

    What - 什么是注解?        Annontation是Java5开始引入的新特征,中文名称叫注解.它提供了一种安全的类似注释的机制,用来将任何的信息或元数据(metadata)与程序元素( ...

  5. 请写出你最常见到的5个runtime exception?

    所谓系统异常,就是-..,它们都是RuntimeException的子类,在jdk doc中查RuntimeException类,就可以看到其所有的子类列表,也就是看到了所有的系统异常.我比较有印象的 ...

  6. Vue中data数据,使用v-model属性绑定第三方插件(例如Jquery的日期插件)无法自动更新

    问题原因就是html结合Vue使用,但是项目又使用了第三方日期控件,这会导致日期值选择形式的更新后,而Vue管理的对应v-model字段并未自动更新,这是因为日期控件未触发Input事件,需要我们在值 ...

  7. mq 的缺点?

    (1)系统可用性降低 系统引入的外部依赖越多,越容易挂掉,本来你就是 A 系统调用 BCD 三个系统的接口就好了,人 ABCD 四个系统好好的,没啥问题,你偏加个 MQ 进来,万一MQ 挂了咋整?MQ ...

  8. js技术之input只读功能可以通过js设置readonly

    一.input标签 输入项标签,不同type属性,会有不同的显示效果和不同的作用 input标签的属性: disabled:表单项禁用,不可修改值,也不会被提交 readonly:表单项只读,不可修改 ...

  9. SVN之屏蔽不需要提交的xml等文件

    SVN之屏蔽不需要提交的xml等文件 在默认"Default changelist"中是我们正常需要提交的文件 在"不需要提交的文件"中存储的是一些线下环境需要 ...

  10. 10本 Linux PDF 书籍免费分享

    本篇文章主要分享以下Linux开发PDF书籍 一.Linux程序设计二.Unix环境高级编程三.Unix_Linux编程实践教程四.鸟哥的私房菜五.深入理解Linux内核六.Linux命令行与shel ...