United Cows of Farmer John

题目传送门

解题思路

树状数组乱糊

AC代码

#include<cstdio>
#include<cstring>
using namespace std;
long long n,ans,a[200005],f[200005],t[200005];//答案要long long
long long lowbit(long long x)//处理
{return x&(-x);
}
void update(long long x,long long y)//修改
{for(long long i=x;i<=n;i+=lowbit(i))t[i]+=y;
}
long long query(long long x)//查询
{long long sum=0;for(long long i=x;i;i-=lowbit(i))sum+=t[i];return sum;
}
int main()
{scanf("%lld",&n);for(long long i=1;i<=n;i++){scanf("%lld",&a[i]);f[i]=n+1;//初值 }for(long long i=n;i>=1;i--)//枚举起点 {ans+=query(f[a[i]]-1);update(f[a[i]],-1);//修改区间的数的种类数 update(i,1);f[a[i]]=i;   //修改位置 }printf("%lld",ans);return 0;
}

谢谢

2021.8.14【提高B组模拟6】T3 + P7527 [USACO21OPEN] United Cows of Farmer John (树状数组)相关推荐

  1. SSL集训 某OJ2021.08.14 提高B组 Luogu P7527 [USACO21OPEN] United Cows of Farmer John G【树状数组】

    题目大意 求区间 [ l , r ] [l,r] [l,r] 的数的种类. 思路

  2. 5814. 【NOIP提高A组模拟2018.8.14】 树(期望 + 倍增)

    5814. [NOIP提高A组模拟2018.8.14] 树 Problem 给定一棵nnn个点的树,m" role="presentation">mmm次询问,每次 ...

  3. JZOJ 5814. 【NOIP提高A组模拟2018.8.14】 树

    梦游中的你来到了一棵 N 个节点的树上. 你一共做了 Q 个梦, 每个梦需要你从点 u 走到点 v 之后才能苏醒, 由于你正在梦游, 所以每到一个节点后,你会在它连出去的边中等概率地选择一条走过去, ...

  4. JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫

    Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...

  5. JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情

    Description Input 输入文件第一行包含一个正整数 k.之后是 k 组测试用例. 每组测试用例的第一行为一个整数 n.接下来 n 行,每行 n 个以空格隔开的数,用来 描述棋盘的初始状态 ...

  6. 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】

    U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...

  7. 【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅

    这是我悲惨的接近爆零的一次考试,但是本蒟蒻不能放弃,还是要总结的QAQ 答题卡 [题目背景] 八月是个悲惨的月份.先不谈炎热的天气,对于新生来说,八月意味着军训: 而对于高二高三的同学来说,八月意味着 ...

  8. 「模拟赛20180307」三元组 exclaim 枚举+树状数组

    题目描述 给定 \(n,k\) ,求有多少个三元组 \((a,b,c)\) 满足 \(1≤a≤b≤c≤n\)且\(a + b^2 ≡ c^3\ (mod\ k)\). 输入 多组数据,第一行数据组数\ ...

  9. Codeforces 216D Spider#39;s Web 树状数组+模拟

    题目链接:http://codeforces.com/problemset/problem/216/D 题意: 对于一个梯形区域,假设梯形左边的点数!=梯形右边的点数,那么这个梯形为红色.否则为绿色, ...

最新文章

  1. 骨架提取的MATLAB实现
  2. 解决 WIndows,Linux 以及 MacOS 终端无法使用代理的问题
  3. PyQt:成功解决Exception quot;unhandled TypeErrorquot; expected str, bytes or os.PathLike object, no
  4. Java实现string转byte
  5. oracle sql语句 只读,Oracle_SQL语句
  6. c#中params关键字应用
  7. L2-014 列车调度(二分)
  8. 敏捷开发(Agile)
  9. 计算机内存不足 程序无法运行,计算机内存不足处理方法
  10. 计算机检索系统常用的运算符,计算机信息检索过程中常用的检索表达式 计算机信息检索系统.doc...
  11. 大话西游中的这些经典元素,注意到没?
  12. VS2005向前向后定位图标
  13. Android 仿微信回复评论点赞效果
  14. Word文档中最后一页底端的表格制作
  15. 以后给孩子起名字不用发愁了
  16. 微信公众平台开发--表情符号
  17. map获取所有的key并返回列表
  18. CodeBERT理解
  19. 行测笔记(主要知识点)
  20. 云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)

热门文章

  1. Adobe Photoshop 2022新版本下载体验,看看“新”在哪?
  2. 一次公司培训后的学习心得
  3. Mac-OutLook农历日历的设置
  4. 上网十八手 做出个倒数计时器
  5. sofa-bolt是什么?
  6. 国家信息技术服务标准-ITSS
  7. 数学问题-圆上某点沿圆心旋转后的坐标关系式
  8. 用友U8C U8Cloud U8 cloud u8c V2.1 2.2 V2.3 V2.4 V2.5 V2.6 V2.7 V3.0 3.1 3.2文件下载
  9. KERNEL_DATA_INPAGE_ERROR 蓝屏开机卡顿修复
  10. 信息安全的前景如何?就业渠道有哪些?