当前位置: 首页 > news >正文

【第几小】

题目

代码

//分块可以AC 20个点的块长, sqrt(n)*5#include<bits/stdc++.h>
using namespace std;int main(){ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;  cin>>n;vector<int> a(n+1,0);//分块int len = sqrt(n)*5; //块长int k = (n%len==0)?n/len:n/len+1;//块数vector<int> block[k+1]; //本体vector<int> belong(n+1,0);int blockNum = 0;for(int i=1;i<=n;i++){ //分块cin>>a[i];blockNum=(i-1)/len+1;belong[i]=blockNum;block[blockNum].push_back(a[i]);}for(int i=1;i<=k;i++){  //块排序sort(block[i].begin(),block[i].end(),less<int>());}//输入操作int m;  cin>>m;vector<vector<int>> op(m,vector<int>(4,0));for(int i=0;i<m;i++){cin>>op[i][0];cin>>op[i][1]>>op[i][2];if(op[i][0]==2)cin>>op[i][3];}//执行vector<int> res;for(int i = 0; i < m; i++){int num1=op[i][1], num2=op[i][2], num3=op[i][3];if(op[i][0]==1){ //修改auto it=lower_bound(block[belong[num1]].begin(),block[belong[num1]].end(),a[num1]);block[belong[num1]].erase(it);it=lower_bound(block[belong[num1]].begin(),block[belong[num1]].end(),num2);if(it==block[belong[num1]].end())block[belong[num1]].push_back(num2);else block[belong[num1]].insert(it,num2);a[num1] = num2;}else{ //查询int count = 0, mid = a[num3];//先查左右两端分块中满足条件的元组数,因为num1和num2所在的块不一定一整块都参与比较for(int j=num1;j<=min(num2,belong[num1]*len);j++){if(a[j]<mid)count++;}if(belong[num1]!=belong[num2]){for(int j=(belong[num2]-1)*len+1;j<=num2;j++){if(a[j]<mid)count++;}}//区间查询,用二分法查询每个块中小于a[p]的元素个数for(int j=belong[num1]+1;j<=belong[num2]-1;j++){count+=lower_bound(block[j].begin(),block[j].end(),a[num3])-block[j].begin();}res.push_back(count+1);}}for(auto &&num:res)cout<<num<<" ";return 0;
}


http://www.mrgr.cn/news/63931.html

相关文章:

  • Windows 部署非安装版Redis
  • 模型剪枝,如何把模型的使用成本降下来?
  • HTML鼠标移动的波浪线动画——页面将会初始化一个Canvas元素,并使用JavaScript代码在Canvas上绘制响应鼠标移动的波浪线动画
  • 小张求职记二
  • git commit应遵循的提交规范
  • Windows转Mac过渡指南
  • 华为 HCIP-Datacom H12-821 题库 (40)
  • (undone) MIT6.S081 2023 一个月速通 (Day1: 了解 xv6 结构) (TODO: fs.img 生成方式不清楚)
  • ‌5G SSB(同步信号块)位于物理层‌
  • 微模型开发迫在眉睫
  • 职场中记住对方的名字很重要
  • 【星闪EBM-H63开发板】小熊派的开发板实物
  • 李红《复变函数与积分变换》第五版课后习题答案PDF
  • Linux中的rm命令详解
  • 【专有网络VPC】IPv4网关
  • 探索 Move 编程语言:智能合约开发的新纪元
  • 反射,注解
  • 基于JavaWeb+MySQL实现口算题卡
  • 移植 AWTK 到 纯血鸿蒙 (HarmonyOS NEXT) 系统 (4) - 平台适配
  • HTML 基础标签——多媒体标签<img>、<object> 与 <embed>
  • 智能物流与供应链管理:技术驱动的现代化物流解决方案
  • LeetCode题练习与总结:有效的完全平方数--367
  • 【极验、网易、腾讯、阿里行为验证人机识别的对比实测】
  • 工厂电气及PLC【1章各种元件符号】
  • 针对物联网边缘设备基于EIT的手部手势识别的1D CNN效率增强的组合模型压缩方法
  • Shell 编程-Shell三剑客 Grep 学习