2021.8.14【提高B组模拟6】T3 + P7527 [USACO21OPEN] United Cows of Farmer John (树状数组)
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 (树状数组)相关推荐
- SSL集训 某OJ2021.08.14 提高B组 Luogu P7527 [USACO21OPEN] United Cows of Farmer John G【树状数组】
题目大意 求区间 [ l , r ] [l,r] [l,r] 的数的种类. 思路
- 5814. 【NOIP提高A组模拟2018.8.14】 树(期望 + 倍增)
5814. [NOIP提高A组模拟2018.8.14] 树 Problem 给定一棵nnn个点的树,m" role="presentation">mmm次询问,每次 ...
- JZOJ 5814. 【NOIP提高A组模拟2018.8.14】 树
梦游中的你来到了一棵 N 个节点的树上. 你一共做了 Q 个梦, 每个梦需要你从点 u 走到点 v 之后才能苏醒, 由于你正在梦游, 所以每到一个节点后,你会在它连出去的边中等概率地选择一条走过去, ...
- JZOJ 5372. 【NOIP2017提高A组模拟9.17】猫
Description 信息组最近猫成灾了!隔壁物理组也拿猫没办法.信息组组长只好去请神刀手来帮他们消灭猫.信息组现在共有n 只猫(n 为正整数),编号为1 到n,站成了一个环,第i 只猫的左边是第i ...
- JZOJ 100030. 【NOIP2017提高A组模拟7.8】为了爱情
Description Input 输入文件第一行包含一个正整数 k.之后是 k 组测试用例. 每组测试用例的第一行为一个整数 n.接下来 n 行,每行 n 个以空格隔开的数,用来 描述棋盘的初始状态 ...
- 【洛谷】NOIP提高组模拟赛Day2【动态开节点/树状数组】【双头链表模拟】
U41571 Agent2 题目背景 炎炎夏日还没有过去,Agent们没有一个想出去外面搞事情的.每当ENLIGHTENED总部组织活动时,人人都说有空,结果到了活动日,却一个接着一个咕咕咕了.只有不 ...
- 【2018.12.15】【考试总结】【模拟+逆序对+树状数组+贪心+multiset】爆零之旅
这是我悲惨的接近爆零的一次考试,但是本蒟蒻不能放弃,还是要总结的QAQ 答题卡 [题目背景] 八月是个悲惨的月份.先不谈炎热的天气,对于新生来说,八月意味着军训: 而对于高二高三的同学来说,八月意味着 ...
- 「模拟赛20180307」三元组 exclaim 枚举+树状数组
题目描述 给定 \(n,k\) ,求有多少个三元组 \((a,b,c)\) 满足 \(1≤a≤b≤c≤n\)且\(a + b^2 ≡ c^3\ (mod\ k)\). 输入 多组数据,第一行数据组数\ ...
- Codeforces 216D Spider#39;s Web 树状数组+模拟
题目链接:http://codeforces.com/problemset/problem/216/D 题意: 对于一个梯形区域,假设梯形左边的点数!=梯形右边的点数,那么这个梯形为红色.否则为绿色, ...
最新文章
- 骨架提取的MATLAB实现
- 解决 WIndows,Linux 以及 MacOS 终端无法使用代理的问题
- PyQt:成功解决Exception quot;unhandled TypeErrorquot; expected str, bytes or os.PathLike object, no
- Java实现string转byte
- oracle sql语句 只读,Oracle_SQL语句
- c#中params关键字应用
- L2-014 列车调度(二分)
- 敏捷开发(Agile)
- 计算机内存不足 程序无法运行,计算机内存不足处理方法
- 计算机检索系统常用的运算符,计算机信息检索过程中常用的检索表达式 计算机信息检索系统.doc...
- 大话西游中的这些经典元素,注意到没?
- VS2005向前向后定位图标
- Android 仿微信回复评论点赞效果
- Word文档中最后一页底端的表格制作
- 以后给孩子起名字不用发愁了
- 微信公众平台开发--表情符号
- map获取所有的key并返回列表
- CodeBERT理解
- 行测笔记(主要知识点)
- 云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)
热门文章
- Adobe Photoshop 2022新版本下载体验,看看“新”在哪?
- 一次公司培训后的学习心得
- Mac-OutLook农历日历的设置
- 上网十八手 做出个倒数计时器
- sofa-bolt是什么?
- 国家信息技术服务标准-ITSS
- 数学问题-圆上某点沿圆心旋转后的坐标关系式
- 用友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文件下载
- KERNEL_DATA_INPAGE_ERROR 蓝屏开机卡顿修复
- 信息安全的前景如何?就业渠道有哪些?