几校联考——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,质量 ...
随机推荐
- 初识bigdata时的一些技能小贴士
既然小豆腐如此给力,而且充分的利用主动学习的优势,已经有了迅速脑补,压倒式的优势,不过这只是表面而已,一切才刚刚开始,究竟鹿死谁手,还有待验证. 以上可以看到,小豆腐为什么拼命的要teach我们了么, ...
- hibernate投影查询
1. 投影查询就是想查询某一字段的值或者某几个字段的值 2. 投影查询的案例 * 如果查询多个字段,例如下面这种方式 List<Object[]> list = session.creat ...
- MBLAST - BLAST
There are given two strings, A and B. An expansion of some string X is a string created by adding or ...
- PCB genesis加尾孔实现方法
一.为什么增加尾孔呢 看一看下图在panel中增加尾孔的效果;如下图所示,主要有2点原因. 1.孔径大小测量 假设如果不增加尾孔,要检测孔径大小是否符合要求,那么QA检测会选择最后钻的孔进大小进行测量 ...
- P3694 邦邦的大合唱站队/签到题(状压dp)
P3694 邦邦的大合唱站队/签到题 题目背景 BanG Dream!里的所有偶像乐队要一起大合唱,不过在排队上出了一些问题. 题目描述 N个偶像排成一列,他们来自M个不同的乐队.每个团队至少有一个偶 ...
- Centos 7 安装google 浏览器(yum 方式)
过程: 1 vim /etc/yum/repo.s/google_chrome.repo 2 添加如下内容: [google-chrome] name=google-chrome ...
- ios-判断手机上是否安装了某个App
方法一 1.获取手机中安装的所有App 1.1.runtime中的方法,所以要导入 #include <objc/runtime.h> 1.2.在 AppDel ...
- 汇编程序45:检测点13.2 (loop指令的中断例程)
安装程序: assume cs:code //loop指令的替代实现 code segment start: mov ax,cs mov ds,ax mov si,offset sub1 mov ax ...
- NS2学习笔记(五)
对无线网络,生成nam文件要使用namtrace-all-wireless, 而不是namtrace-all: set nf [open test_1.nam w] $ns_ namtrace-all ...
- 本地mongochef连接其他计算机上的数据库认证失败解决方法
关闭防火墙或者在信任程序列表添加运行目录下的mongod.exe即可