2017清华计算机夏令营机试题目,2017 ECNU计算机系暑期夏令营机考 eoj3307. 送分题...

本文主要是介绍2017清华计算机夏令营机试题目,2017 ECNU计算机系暑期夏令营机考 eoj3307. 送分题...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

image-21.png

唔,晚上数学题写累了去eoj翻了翻前几年夏令营的机试题,大概这题算最难吧,就写了下

时间给的够宽,莫队暴力就好了(数据要离散化处理).

#include

using namespace std;

const int maxn=5e5+5;

typedef long long ll;

int Times[maxn],ans[maxn];

int sz,now,cnt=1;

struct Ques

{

int l,r,id;

}q[maxn];

struct edge

{

int c,id;

}color[maxn],col[maxn];

int read()

{

int now=0;char c=getchar();

while(c'9')c=getchar();

while(c>='0'&&c<='9')now=(now<<3)+(now<<1)+c-'0',c=getchar();

return now;

}

bool cmp(Ques a,Ques b)

{

if(a.l/sz==b.l/sz) return a.r

return a.l/sz

}

bool cmp1(edge a,edge b)

{

return a.c

}

bool cmp2(edge a,edge b)

{

return a.id

}

inline void Add(int p)

{

p=col[p].id;

// cout<

++Times[p];

if(Times[p]==2) ++now;

else if(Times[p]==3) --now;

}

inline void Subd(int p)

{

p=col[p].id;

--Times[p];

if(Times[p]==1) --now;

else if(Times[p]==2) ++now;

}

int main()

{

int n=read(),m=read();

sz=sqrt(n);

for(int i=1;i<=n;i++) color[i].c=read(),color[i].id=i;

for(int i=1;i<=m;i++) q[i].l=read(),q[i].r=read(),q[i].id=i;

sort(q+1,q+1+m,cmp);

sort(color+1,color+1+n,cmp1);

int pre=color[1].c;

for(int i=1;i<=n;i++)

{

if(color[i].c==pre) col[color[i].id].id=cnt;

else cnt++,pre=color[i].c,col[color[i].id].id=cnt;

}

sort(color+1,color+1+n,cmp2);

for(int i=1,l=1,r=0;i<=m;i++)

{

int ln=q[i].l,rn=q[i].r;

while(l>ln) Add(color[--l].id);

while(l

while(r

while(r>rn) Subd(color[r--].id);

ans[q[i].id]=now;

}

for(int i=1;i<=m;i++) printf("%d\n",ans[i]);

}

这篇关于2017清华计算机夏令营机试题目,2017 ECNU计算机系暑期夏令营机考 eoj3307. 送分题...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360131

相关文章

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

机试算法模拟题 服务中心选址

题目描述 一个快递公司希望在一条街道建立新的服务中心。公司统计了该街道中所有区域在地图上的位置,并希望能够以此为依据为新的服务中心选址:使服务中心到所有区域的距离的总和最小。 给你一个数组positions,其中positions[i] = [left, right] 表示第 i 个区域在街道上的位置,其中left代表区域的左侧的起点,right代表区域的右侧终点,假设服务中心的位置为loca

暑期学习总结

iOS学习 前言无限轮播图换头像网络请求按钮的configuration属性总结 前言 经过暑期培训,完成了五个项目的仿写,在项目中将零散的内容经过实践学习,有了不少收获,因此来总结一下比较重要的内容。 无限轮播图 这是写项目的第一个难点,在很多项目中都有使用,越写越熟练。 原理为制造两个假页,在首和尾分别制作最后一页和第一页的假页,当移动到假页时,使用取消动画的方式跳到

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础

【408数据结构】散列 (哈希)知识点集合复习考点题目

苏泽  “弃工从研”的路上很孤独,于是我记下了些许笔记相伴,希望能够帮助到大家    知识点 1. 散列查找 散列查找是一种高效的查找方法,它通过散列函数将关键字映射到数组的一个位置,从而实现快速查找。这种方法的时间复杂度平均为(

java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频)

这是什么系统? 资源获取方式在最下方 java计算机毕设课设—停车管理信息系统(附源码、文章、相关截图、部署视频) 停车管理信息系统是为了提升停车场的运营效率和管理水平而设计的综合性平台。系统涵盖用户信息管理、车位管理、收费管理、违规车辆处理等多个功能模块,旨在实现对停车场资源的高效配置和实时监控。此外,系统还提供了资讯管理和统计查询功能,帮助管理者及时发布信息并进行数据分析,为停车场的科学

华为OD机试真题-学生方阵-2024年OD统一考试(E卷)

题目描述 学校组织活动,将学生排成一个矩形方阵。 请在矩形方阵中找到最大的位置相连的男生数量。这个相连位置在一个直线上,方向可以是水平的,垂直的,成对角线的或者呈反对角线的。 注:学生个数不会超过10000 输入描述 输入的第一行为矩阵的行数和列数, 接下来的 n行为矩阵元素,元素间用""分隔。 输出描述 输出一个整数,表示矩阵中最长的位

码蹄集部分题目(2024OJ赛9.4-9.8;线段树+树状数组)

1🐋🐋配对最小值(王者;树状数组) 时间限制:1秒 占用内存:64M 🐟题目思路 MT3065 配对最小值_哔哩哔哩_bilibili 🐟代码 #include<bits/stdc++.h> using namespace std;const int N=1e5+7;int a[N],b[N],c[N],n,q;struct QUERY{int l,r,id;}que