几校联考——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,质量 ...
随机推荐
- Android开发之使用sqlite3工具操作数据库的两种方式
使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...
- LeetCode 917. Reverse Only Letters (仅仅反转字母)
题目标签:String 利用left, right 两个pointers, 从左右开始 互换 字母.如果遇到的不是字母,那么继续移动到下一个. Java Solution: Runtime beats ...
- 安装ubuntu远程桌面xrdp可视化设置界面
ubuntu 远程桌面的时候须要从系统-首选项-远程桌面 可是有的ubuntu远程桌面的应用须要自己安装.例如以下是安装命令: sudo apt-get install xrdp
- WebView与JavaScript交互--Android
转载请注明出处: http://blog.csdn.net/forwardyzk/article/details/46819925 在工作中,有一个这种需求,须要用到WebView与javascri ...
- Chrome控制台命令
window.print();打印当前窗口内容或输出为pdf
- TCP传输工作原理
引言 在TCP/IP体系结构中,IP协议只管将数据包尽力传送到目的主机,无论数据传输正确与否,它都不做验证,不发确认,也不保证数据包的顺序,因而不具有可靠性.这一问题要由传输层TCP协议来解决,TCP ...
- c++中读写文件操作
读写文件这个,不常用,每次用的时候都会百度一下,每次写法还都不一样,所有总是记混.今天利用点时间总结下之前工程中用过的.以后就安照这种方法写了. 搞acmicpc的时候喜欢用freopen(),这个是 ...
- Webservice 的安全策略
摘自:http://www.cnblogs.com/shengel/archive/2008/11/20/1337723.html Webservice为作为方便的服务被用广大领域使用的同时, ...
- IDEA 中Spark SQL通过JDBC连接mysql数据库
一.IDEA装驱动: 1.下载一个MySQL的JDBC驱动:mysql-connector-java-5.1.44.tar.gz2.在idea Open Moudle Settings 在 Moudl ...
- 51. ExtJs4之Ext.util.JSON编码和解码JSON对象
转自:https://blog.csdn.net/iteye_9439/article/details/82518158 1.decode() 该方法用于将符合JSON格式的String进行解码成为一 ...