我只想说面对这种难度的题目就是冲着20%的数据暴力。。。

分数:40+20+36.1+38+0+19

T1 签到题 III

题目背景

pj组选手zzq近日学会了求最大公约数的辗转相除法。

题目描述

类比辗转相除法,zzq定义了一个奇怪的函数:

typedef long long ll;
ll f(ll a,ll b)
{
if(a==b) return 0;
if(a>b) return f(a-b,b+b)+1;
else return f(a+a,b-a)+1;
}

zzq定义完这个函数兴高采烈,随便输入了两个数,打算计算f值,发现这个函数死循环了...于是zzq定义这个函数递归死循环的情况下f值为0。

现在zzq输入了一个数n,想要求出

输入输出格式

输入格式:

一行两个数n。

输出格式:

一行一个数

输入输出样例

输入样例#1:

100
输出样例#1:

1124
输入样例#2:

2000
输出样例#2:

68204

说明

对于10%的数据,

对于40%的数据,

对于70%的数据,

对于100%的数据,

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
ll i,j;
int tot=;
int flag=;
inline ll f(ll a,ll b)
{
if(tot>)
{
flag=;
return ;
}
if(a==b) return ;
if(a>b)
{
tot++;
return f(a-b,b+b)+;
}
else
{
tot++;
return f(a+a,b-a)+;
}
}
int main()
{
ll n;
ll ans=;
cin>>n;
for(i=;i<=n;i++)
{
for(j=;j<=n;j++)
{
tot=;
flag=;
ll p=f(i,j);
if(flag==)continue;
else
ans=ans+p;
}
} cout<<ans;
return ;
}

T2 总统选举

题目背景

黑恶势力的反攻计划被小C成功摧毁,黑恶势力只好投降。秋之国的人民解放了,举国欢庆。此时,原秋之国总统因没能守护好国土,申请辞职,并请秋之国人民的大救星小C钦定下一任。作为一名民主人士,小C决定举行全民大选来决定下一任。为了使最后成为总统的人得到绝大多数人认同,小C认为,一个人必须获得超过全部人总数的一半的票数才能成为总统。如果不存在符合条件的候选人,小C只好自己来当临时大总统。为了尽可能避免这种情况,小C决定先进行几次小规模预选,根据预选的情况,选民可以重新决定自己选票的去向。由于秋之国人数较多,统计投票结果和选票变更也成为了麻烦的事情,小C找到了你,让你帮他解决这个问题。

题目描述

秋之国共有n个人,分别编号为1,2,…,n,一开始每个人都投了一票,范围1~n,表示支持对应编号的人当总统。共有m次预选,每次选取编号[li,ri]内的选民展开小规模预选,在该区间内获得超过区间大小一半的票的人获胜,如果没有人获胜,则由小C钦定一位候选者获得此次预选的胜利(获胜者可以不在该区间内),每次预选的结果需要公布出来,并且每次会有ki个人决定将票改投向该次预选的获胜者。全部预选结束后,公布最后成为总统的候选人。

输入输出格式

输入格式:

第一行两个整数n,m,表示秋之国人数和预选次数。

第二行n个整数,分别表示编号1~n的选民投的票。

接下来m行,每行先有4个整数,分别表示li,ri,si,ki,si表示若此次预选无人胜选,视作编号为si的人获得胜利,接下来ki个整数,分别表示决定改投的选民。

输出格式:

共m+1行,前m行表示各次预选的结果,最后一行表示最后成为总统的候选人,若最后仍无人胜选,输出-1。

输入输出样例

输入样例#1:

5 4
1 2 3 4 5
1 2 1 1 3
5 5 1 2 2 4
2 4 2 0
3 4 2 1 4
输出样例#1:

1
5
5
2
-1

说明

对于前20%的数据,

对于前40%的数据,

对于前50%的数据,

对于数据点6~7,保证所有选票始终在1~10之间。

对于100%的数据,

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int MAXN=;
int p;
int n,m;
int a[MAXN];
int tou[MAXN];
int piaonow[MAXN];//记录每一个区间内人的得票数
int main()
{
scanf("%d%d",&n,&m);
for(int i=;i<=n;i++)
{
scanf("%d",&p);
a[p]++;
tou[i]=p;//第i个人投给了p个人
}
for(int i=;i<=m;i++)
{
memset(piaonow,,sizeof(piaonow));
int l,r,s,k;
int flag=;// 区间内没有人获胜
int where=-;
scanf("%d%d%d%d",&l,&r,&s,&k);
for(int j=l;j<=r;j++)
{
piaonow[tou[j]]++;
}
for(int j=l;j<=r;j++)
if(piaonow[tou[j]]>(r-l+)/)
{
flag=;//有人获胜
where=tou[j];
break;
}
int to;// 将要改投谁
if(flag==)
to=where;
else to=s;
for(int j=;j<=k;j++)
{
scanf("%d",&p);
a[tou[p]]--;
a[to]++;
tou[p]=to;
}
int maxn=-;
printf("%d\n",to);
}
for(int i=;i<=n;i++)
{
if(a[i]>(n/))
{
printf("%d",a[i]);
return ;
}
}
printf("-1");
return ;
}

T3 核心密码A

题目背景

黑恶势力的基地被射线武器重创,小C带领ZAJANG人民志愿军乘胜追击,一路屡战屡胜,打得敌人溃不成军。终于,小C的军队包围了被黑恶势力占领的秋之国首都,准备展开最终决战。

但黑恶势力也不是吃素的,黑恶势力的头目们秘密制定了一个反攻计划,准备两天内立刻实行。可惜,小C研发的Very-Strong号信号监听器早已将这一消息汇报给小C,并提供了秘密截获的某一黑恶势力头目电子密信中详细的计划安排。黑恶势力阴险狡诈,密信中的计划经过了多重复杂的加密处理,小C利用他研发的一套完整的破密系统成功破解了90%以上的密码,破密系统提示若要继续破解密码,先要提供几个复杂函数的计算方法,这当然难不倒小C,但为了节省时间,身为小C助手的你能否帮他解决其中一个简单的函数?

题目描述

令g(n)表示n能表示成几种不同的完全k次方数(k>1),求

例如,,所以g(64)=3。

输入输出格式

输入格式:

多组询问,第一行一个整数T表示询问组数。

接下来T行,每行一个整数n,表示询问f(n)。

输出格式:

T行,每行一个实数,表示f(n),保留八位小数。

由于精度误差,你的答案和标准答案差的绝对值在以内即可通过

输入输出样例

输入样例#1:

2
5
15
输出样例#1:

0.25000000
0.48611111

说明

对于20%的数据,

对于40%的数据,

对于100%的数据,

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<map>
using namespace std;
int n;
double ans;
int x;
map<double,int>ma;
int main()
{
for(int i=;i<=;i++)
for(int j=;j<=;j++)
ma[pow(i,j)]++;
cin>>n;
for(int i=;i<n;i++)
{
cin>>x;
for(int i=;i<=x;i++)
ans+=ma[i]*1.0000/i;
printf("%.8lf\n",ans);
ans=;
}
return ;
}

T4 核心密码B

题目背景

懒得拷题目背景了,参见核心密码A...

请注意两道题的唯一差别。

题目描述

令g(n)表示n能表示成几种不同的完全k次方数(k>1),求

例如,,所以g(64)=3。

输入输出格式

输入格式:

多组询问,第一行一个整数T表示询问组数。

接下来T行,每行一个整数n,表示询问f(n)。

输出格式:

T行,每行一个实数,表示f(n),保留十四位小数。

由于精度误差,你的答案和标准答案差的绝对值在以内即可通过

输入输出样例

输入样例#1:

2
5
15
输出样例#1:

0.25000000000000
0.48611111111111

说明

对于20%的数据,

对于40%的数据,

对于100%的数据,

 #include<iostream>
#include<cstdio>
#include<cmath>
#include<map>
using namespace std;
int n;
double ans;
int x;
map<double,int>ma;
int main()
{
for(int i=;i<=;i++)
for(int j=;j<=;j++)
ma[pow(i,j)]++;
cin>>n;
for(int i=;i<n;i++)
{
cin>>x;
for(int i=;i<=x;i++)
ans+=ma[i]*1.0000/i;
printf("%.14lf\n",ans);
ans=;
}
return ;
}

T4345 简单的数学题

题目描述

由于出题人懒得写背景了,题目还是简单一点好。

输入一个整数n和一个整数p,你需要求出,其中gcd(a,b)表示a与b的最大公约数。

刚才题面打错了,已修改

输入输出格式

输入格式:

一行两个整数p、n。

输出格式:

一行一个整数

输入输出样例

输入样例#1:

998244353 2000
输出样例#1:

883968974

说明

对于20%的数据,

对于30%的数据,

对于60%的数据,,时限1s。

对于另外20%的数据,,时限3s。

对于最后20%的数据,,时限6s。

对于100%的数据,且p为质数。

 #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
typedef long long ll;
ll i,j;
int tot=;
int flag=;
ll mod;
ll p;
ll n;
ll ans=;
int gcd(int x,int y)
{
if(y==)return x;
else return gcd(y,x%y)%p;
}
int main()
{
cin>>p>>n;
for(i=;i<=n;i++)
for(j=;j<=n;j++)
ans=(ans%p+(gcd(i,j)*i*j)%p)%p;
cout<<ans;
return ;
}

赛后感就不多说了,。。

暴力打的爽!!!

洛谷2017 5月月赛R1的更多相关文章

  1. 洛谷P3862 8月月赛B

    https://www.luogu.org/problemnew/show/P3862#sub P3862 8月月赛B 推公式:f(n)->f(n+1) 奇葩的预处理 https://www.l ...

  2. 洛谷2019 3月月赛 T2

    题干 洛谷同款 T2?(看似比T1简单些) 二维前缀和嘛?[多简单 我天天拿二维前缀和水DP] 这是前缀和的预处理 2333 处理出来所有的情况 某个地方要加上mod再%mod 如果没有这一步 那么 ...

  3. 洛谷2019 3月月赛 T1

    题干 2019第一次月赛 我只有255pts T1还是比较水的... 海星 T1一道简单的模拟(就是有坑..导致很多人不能一次性AC 比如说我) _3个坑点 1.位数问题 2.-0 3.0... #i ...

  4. 洛谷2019 3月月赛 T4

    T3做不来.. 直接滚去T4 orz 乍一看 T4是个DP 题干 复杂度??(N^4) 咋优化... 还带一只捆绑 捆绑啥的最烦人了 最后20pts 直接废了 T了 很烦 不过拿到80pts已经很开心 ...

  5. 洛谷2019 3月月赛 T3

    题干 唯一AC T3 的大巨佬%%% 这题就是个大模拟吧. 题解

  6. 洛谷3月月赛 R1 Step! ZERO to ONE

    洛谷3月月赛 R1 Step! ZERO to ONE 普及组难度 290.25/310滚粗 t1 10分的日语翻译题....太难了不会... t2 真·普及组.略 注意长为1的情况 #include ...

  7. 洛谷4月月赛R1

    T1.题目大意:n个人站成一排,有m个团队,每个人有且属于一个团队,可以让若干个人出队,任意交换这些人的位置后再站回去,问要让所有同一团队的人连续地站在一起,至少要出队几个.(n<=10^5,m ...

  8. 洛谷4月月赛R1 Happy Poppin' Party Train

    来自FallDream的博客,未经允许,请勿转载,谢谢. 听学长说的就来玩一玩,随便乱打打  没想到一堆人被取消了成绩,莫名混了个Rank3 还有第一题数据肯定是有问题 --------------- ...

  9. 洛谷P3656 展翅翱翔之时 (はばたきのとき)(洛谷2017.3月赛round1 t4)

    题目背景 船が往くよミライへ旅立とう 船只启航 朝未来展开旅途 青い空笑ってる(なにがしたい?) 湛蓝天空露出微笑(想做些什么?) ヒカリになろうミライを照らしたい 化作光芒吧 想就此照亮未来 輝きは ...

随机推荐

  1. (linux)main.c中的初始化

    main.c中的初始化 head.s在最后部分调用main.c中的start_kernel() 函数,从而把控制权交给了它. 所以启动程序从start_kernel()函数继续执行.这个函数是main ...

  2. AutoEventWireup

    Page_PreInit & OnPreInit - whats the difference? https://forums.asp.net/t/1095903.aspx?Page_PreI ...

  3. WAS:启动服务后,server一会挂起。

    有个WAS集成,其中一台因为linux系统异常需要重新安装,于是服务器停了:一会现场提报ERP系统访问不了. 查看了另外一个server后台日志,有一批webcontainer进程挂起,明显服务死了. ...

  4. oracle实例的内存(SGA和PGA)调整,优化数据库性能

    一.名词解释 (1)SGA:SystemGlobal Area是OracleInstance的基本组成部分,在实例启动时分配;系统全局域SGA主要由三部分构成:共享池.数据缓冲区.日志缓冲区. (2) ...

  5. H5页面解决左右滑动问题

    在head里面加入. <meta name="viewport" content="width=device-width, initial-scale=1.0, u ...

  6. 分享几篇文章(PDF版)

    后天就要回老家了,除了团团年估计也没有其他好玩的,就琢磨下点经典文章带回去看看. Google一番找到了老赵很早以前的文章: http://www.cnblogs.com/JeffreyZhao/ar ...

  7. 【hyddd驱动开发学习】DDK与WDK

    最近尝试去了解WINDOWS下的驱动开发,现在总结一下最近看到的资料. 1.首先,先从基础的东西说起,开发WINDOWS下的驱动程序,需要一个专门的开发包,如:开发JAVA程序,我们可能需要一个JDK ...

  8. 使用GAC加速 解决CSP问题 Kakuro - Cross Sums

    Kakuro - Cross Sums 问题如下 一个简单的例子 可以看出限制条件是某行或某列的某几个空白格子求和等于某个值,且每一个限制中的格子所填的数必须为1-9且互异. 直接暴力搜索,空白格子太 ...

  9. Android开发中几种有用的的日历控件实现

    我们大家都知道,在Android平台3.0中才新增了日历视图控件,可以显示网格状的日历内容,那么对于3.0以下的版本要使用日历控件只能借助第三方,目前用的最多的是CalendarView. 先简单介绍 ...

  10. unittest参数化parameterized

    参考文章: https://www.cnblogs.com/royfans/p/7226360.html https://blog.csdn.net/zha6476003/article/detail ...