几校联考——day1题解
T1
约数的个数(好像不可提交)
如果一个整数a能够整除整数b,那么a叫做b的约数。
现在有N(1 <= N <= 100,000)个整数,对于其中的每一个数,请找出它在其余N - 1个整数中有多少个约数。
开个桶记录一下每个数,之后O(sqrt(n))查询即可。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
#include<stack>
#include<cmath> #define N 1600000
using namespace std; int n,a[N],b[N]; int main()
{
// freopen("A.in","r",stdin);
// freopen("A.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++) scanf("%d",&a[i]);
for(int i=;i<=n;i++) b[a[i]]++;
for(int k=;k<=n;k++){
int an=;
for(int i=;i<=sqrt(a[k]);i++){
if(!(a[k]%i)){
if(a[k]/i==i) an+=b[i];
else {
an+=b[i]+b[a[k]/i];
if(i==) an-=;
}
}
}
if(a[k]==) an-=;
printf("%d\n",an);
}
return ;
}
T2
P3519 [POI2011]ROZ-Difference
给一个字符串,求其中的一段,使得出现次数最多的字符与出现次数最少的字符的出现次数之差最大
暴力:随机化强行出解70
实测评分50
#include<bits/stdc++.h> #define N 1600000
#define LL long long
#define inf 0x7fffffff
using namespace std; int n,a[N],ans,sum[][N]; void sz1() {
for(int i=; i<=n; i++) {
for(int j=i+; j<=n; j++) {
int mx=,mi=inf;
for(int k=; k<; k++) {
mx=max(mx,sum[k][j]-sum[k][i-]);
if((sum[k][j]-sum[k][i-])) mi=min(mi,sum[k][j]-sum[k][i-]);
}
ans=max(ans,mx-mi);
}
}
printf("%d\n",ans);
} void sz2() {
for(int i=; i<=; i++) {
int l,len,r;
l=rand()%n+;
len=rand()%n+;
// l=1;len=rand()%n;
r=l+len;
r%=n;
if(r<l) swap(l,r);
int mx=,mi=inf;
for(int k=; k<; k++) {
mx=max(mx,sum[k][r]-sum[k][l-]);
if((sum[k][r]-sum[k][l-])) mi=min(mi,sum[k][r]-sum[k][l-]);
}
ans=max(ans,mx-mi);
}
printf("%d\n",ans);
} void sc3() {
for(int i=; i<=; i++) {
int l=rand()%n;
if(i==) l=;
for(int j=l+; j<=n; j++) {
int mx=,mi=inf;
for(int k=; k<; k++) {
mx=max(mx,sum[k][j]-sum[k][i-]);
if((sum[k][j]-sum[k][i-])) mi=min(mi,sum[k][j]-sum[k][i-]);
}
ans=max(ans,mx-mi);
}
}
printf("%d\n",ans);
} int main() {
// freopen("B.in","r",stdin);freopen("B.out","w",stdout);
srand(time());
scanf("%d",&n);
for(int i=; i<=n; i++) {
char c;
while() {
c=getchar();
if(c>='a'&&c<='z') break;
}
a[i]=c-'a';
}
for(int i=; i<; i++) {
for(int j=; j<=n; j++) {
int x=a[j]==i?:;
sum[i][j]+=sum[i][j-]+x;
}
}
if(n<=) sz1();
else if(n<=) sz2();
else sc3();
return ;
}
随机化
正解:
T3
P2934 [USACO09JAN]安全出行Safe Travel
题目大意:
给你一个图,求点1到其它点的最短路,将每个点最短路径上的最后一条边删去(保证最短路径唯一),求1~该点的最短路。
以为是正解,考试时低估出题人的实力了,只有10分。
正解正在寻求中。。。
几校联考——day1题解的更多相关文章
- 三校联考 Day3
三校联考 Day3 大水题 题目描述:给出一个圆及圆上的若干个点,问两个点间的最远距离. solution 按极角排序,按顺序枚举,显然距离最远的点是单调的,线性时间可解出答案. 大包子的束缚 题目描 ...
- 【赛时总结】NOIP2018-三校联考1024
◇NOIP三校联考-1024◇ 发现以前的博客写得似乎都很水……基本上都没什么阅读量QwQ 决定改过自新╰( ̄ω ̄o) 就从这篇博客开始吧~ 现场考得无地自容,看到题解才发现一些东西……(我第三题还没 ...
- 【五校联考1day2】JZOJ2020年8月12日提高组T2 我想大声告诉你
[五校联考1day2]JZOJ2020年8月12日提高组T2 我想大声告诉你 题目 Description 因为小Y 是知名的白富美,所以自然也有很多的追求者,这一天这些追求者打算进行一次游戏来踢出一 ...
- 【五校联考1day2】JZOJ2020年8月12日提高组T1 对你的爱深不见底
[五校联考1day2]JZOJ2020年8月12日提高组T1 对你的爱深不见底 题目 Description 出乎意料的是,幸运E 的小R 居然赢了那个游戏.现在欣喜万分的小R 想要写一张明信片给小Y ...
- [2019多校联考(Round 6 T3)]脱单计划 (费用流)
[2019多校联考(Round 6 T3)]脱单计划 (费用流) 题面 你是一家相亲机构的策划总监,在一次相亲活动中,有 n 个小区的若干男士和 n个小区的若干女士报名了这次活动,你需要将这些参与者两 ...
- [多校联考2019(Round 5 T1)] [ATCoder3912]Xor Tree(状压dp)
[多校联考2019(Round 5)] [ATCoder3912]Xor Tree(状压dp) 题面 给出一棵n个点的树,每条边有边权v,每次操作选中两个点,将这两个点之间的路径上的边权全部异或某个值 ...
- [多校联考2019(Round 5 T2)]蓝精灵的请求(二分图染色+背包)
[多校联考2019(Round 5)]蓝精灵的请求(二分图染色+背包) 题面 在山的那边海的那边住着 n 个蓝精灵,这 n 个蓝精灵之间有 m 对好友关系,现在蓝精灵们想要玩一个团队竞技游戏,需要分为 ...
- [多校联考2019(Round 5 T3)]青青草原的表彰大会(dp+组合数学)
[多校联考2019(Round 5)]青青草原的表彰大会(dp+组合数学) 题面 青青草原上有n 只羊,他们聚集在包包大人的家里,举办一年一度的表彰大会,在这次的表彰大会中,包包大人让羊们按自己的贡献 ...
- [2017/5/28]FJ四校联考
来自FallDream的博客,未经允许,请勿转载,谢谢. 话说这一段时间算是过去了,好久好久之后终于又有联考了 没想到这次到我们学校出题,昨天才想起来,临时花一天赶了一套,我出了一个sbFFT,质量 ...
随机推荐
- 「五」创建一个带 tomcat 服务的基础镜像(修订版)
Tomcat Tomcat 简单介绍 Tomcat server是一个免费的开放源码的Web 应用server,属于轻量级应用server.在中小型系统和并发訪问用户不是非常多的场合下被普遍使用,是开 ...
- 自己动手写reg注册表文件
自己动手写reg注册表文件 2015-01-12 20:23 1161人阅读 评论(1) 收藏 举报 分类: 玩转Windows应用层编程(12) 版权声明:本文为博主原创文章,未经博主允许不得转 ...
- swift 2.0 语法 常量变量
import UIKit /*: 常量变量 * 常量: let * 变量: var 完整格式: * 修饰符(let/var) 常量/变量名称: 数据类型 */ let number: Int var ...
- settimeout--原来定时器是有三个及以上参数的
我平常使用的 settimeout 定时,只知道他有两个参数,一个是function异步成功后的回调函数,一个是delay延时毫秒,今天发现它还可以接着传餐,作为 执行回调函数的参数 语法:var t ...
- jquery 数组添加不重复数据
var columnCommentsArray = new Array(); $("input[name='columnComments']").each( function(){ ...
- shell curl 实现rest 并发测试
for i in {1..50}; do curl http://10.43.95.26:5812/rdk/service/app/example/server/my_service & do ...
- TensorFlow alexnet在华为Mate10上运行方法
我使用的caffe模型:https://github.com/BVLC/caffe/tree/ea455eb29393ebe6de9f14e88bfce9eae74edf6d/models/bvlc_ ...
- bzoj 1822 冷冻波
题目大意: 在游戏中,巫妖是一种强大的英雄,它的技能Frozen Nova每次可以杀死一个小精灵 我们认为,巫妖和小精灵都可以看成是平面上的点. 当巫妖和小精灵之间的直线距离不超过R,且巫妖和小精灵的 ...
- 使用display:flex;实现垂直水平居中
body,div{margin:0px;padding:0px;} .flex-container{display:flex;height:300px;background-color:#ddd;ju ...
- Hotel booking(spfa+floyd)
http://acm.hdu.edu.cn/showproblem.php?pid=2992 题意:有n个城市,编号为(1~n),有一些城市中有一些旅店,要求从一个城市到另一个城市不能超过10小时,问 ...