没看到Beginner,然后就做啊做,发现A,B太简单了。。。然后想想做完算了。。没想到C卡了一下,然后还是做出来了。D的话瞎想了一下,然后感觉也没问题。假装all

kill.2333

AtCoder Beginner Contest 052 A题意:

输出大的面积?

思路:

max(A*B,C*D);

AtCoder Beginner Contest 052 B题意:

枚举过程,然后。。。太水了。。

AtCoder Beginner Contest 052 C题意:

输出N!的因子个数mod1e9+7;

思路:

算质因子的个数,然后(质因子个数+1)的乘积mod1e+7就是answer.

原理就是一个质因子组合,+1就是意味着这个质因子可以没有,但是都没有就会出问题需要-1,然而1本身就是存在的。

所以得(质因子个数+1)的乘积mod1e+7就是answer?

那么只需要一个,素数筛+质因子数分解?

AtCoder Beginner Contest 052 D题意:

依次给你n个村庄的位置,现在你在第一个村庄,每次能花费A走一单位,或者花费B走到任意位置。

思路:

dis代表间距。

感觉如果出现dis*A>B那么必跳对吧。。。

就是如果还有dis*A<B的话。。

比如有10个点,“大”,“小”表示dis*A和B之间的关系。

1大2小3大4小5大6小7大8大9小10

最好就是我跳一个大的地方顺便还能路过小的,满足么?

其实一定满足对吧。

小的在大的前面,小的先走,OK

大的在小的前面,大的先走,OK

哦,本身每段都是小,可能出现先跳过去,然后再走剩下的花费比原先都走的小?不可能。

代码都不敢贴。。。主要题目简单。。。

但是口胡AC么?NO,还是放代码。

A code:
int main()
{
int a,b,c,d;
scanf("%d%d%d%d",&a,&b,&c,&d);
printf("%d\n",max(a*b,c*d));
return 0;
} B code:
char s[110];
int n;
int main()
{
scanf("%d",&n);
scanf("%s",s);
int num=0;
int ans=0;
for(int i=0;i<n;i++)
{
if(s[i]=='I') num++;
else num--;
ans=max(ans,num);
}
printf("%d\n",ans);
return 0;
} C code:
const LL mod=1e9+7;
LL num[1010];
bool IsPrime[1010];
int Prime[1010],cnt;
void init()
{
fill(IsPrime,IsPrime+1005,true);
cnt=0;
for(int i=2;i<=1000;i++)
{
if(!IsPrime[i]) continue;
Prime[++cnt]=i;
for(int j=i+i;j<=1000;j+=i)
IsPrime[j]=false;
}
}
void solve(int n)
{
int q=sqrt(n);
for(int i=1;i<=cnt&&Prime[i]<=n;i++)
{
while(n%Prime[i]==0)
{
num[Prime[i]]=num[Prime[i]]+1LL;
n/=Prime[i];
}
}
}
int main()
{
int n;
memset(num,0,sizeof(num));
init();
scanf("%d",&n);
for(int i=2;i<=n;i++)
solve(i);
LL ans=1LL;
for(int i=2;i<=n;i++)
if(num[i]) ans=ans*(num[i]+1LL)%mod;
printf("%lld\n",ans);
return 0;
} D code:
LL x,A,B,y;
int main()
{
LL temp,ans=0;
int n;
scanf("%d%lld%lld",&n,&A,&B);
scanf("%d",&y);
for(int i=2;i<=n;i++)
{
scanf("%lld",&x);
temp=(x-y)*A;
temp=min(B,temp);
y=x;
ans+=temp;
}
printf("%lld\n",ans);
return 0;
}

AtCoder Beginner Contest 052的更多相关文章

  1. AtCoder Beginner Contest 052 ABCD题

    A - Two Rectangles Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement The ...

  2. AtCoder Beginner Contest 100 2018/06/16

    A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...

  3. AtCoder Beginner Contest 053 ABCD题

    A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...

  4. AtCoder Beginner Contest 136

    AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...

  5. AtCoder Beginner Contest 137 F

    AtCoder Beginner Contest 137 F 数论鬼题(虽然不算特别数论) 希望你在浏览这篇题解前已经知道了费马小定理 利用用费马小定理构造函数\(g(x)=(x-i)^{P-1}\) ...

  6. AtCoder Beginner Contest 076

    A - Rating Goal Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Takaha ...

  7. AtCoder Beginner Contest 079 D - Wall【Warshall Floyd algorithm】

    AtCoder Beginner Contest 079 D - Wall Warshall Floyd 最短路....先枚举 k #include<iostream> #include& ...

  8. AtCoder Beginner Contest 064 D - Insertion

    AtCoder Beginner Contest 064 D - Insertion Problem Statement You are given a string S of length N co ...

  9. AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle【暴力】

    AtCoder Beginner Contest 075 D - Axis-Parallel Rectangle 我要崩溃,当时还以为是需要什么离散化的,原来是暴力,特么五层循环....我自己写怎么都 ...

随机推荐

  1. 我的Android进阶之旅------>如何在多个LinearLayout中添加分隔线

    如果要适合于所有的Android版本,可以在多个LinearLayout放置用于显示分隔线的View.例如,放一个ImageView组件,然后将其背景设为分隔线的颜色或图像,分隔线View的定义代码如 ...

  2. CUDA: 原子操作

    1.1以上计算功能集支持全局内存上的原子操作, 1.2以上支持共享内存上的原子操作. atomicAdd(add,y)将生成一个原子的操作序列,这个操作序列包括读取地址addr处的值,将y增加到这个值 ...

  3. PAT天梯赛 L2-002. 链表去重 【STL】

    题目链接 https://www.patest.cn/contests/gplt/L2-002 思路 用结构体 存储 一个结点的地址 值 和下一个地址 然后从首地址开始 往下走 并且每个值的绝对值 都 ...

  4. <算法笔记>关于快速排序的算法优化排序(顺便给百度百科纠个错)

    快速排序是排序算法之中的基本中的基本,虽然越来越多的接口函数将快速排序“完美的封装了起来”,比如C++中的qsort或者<algorithm>中的sort(与stable_sort相对应) ...

  5. 51Nod XOR key —— 区间最大异或值 可持久化字典树

    题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1295 1295 XOR key  题目来源: HackerRa ...

  6. 51Nod 1486 大大走格子 —— 组合数学

    题目链接:https://vjudge.net/problem/51Nod-1486 1486 大大走格子 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: ...

  7. ambari 维护模式及reset API 操作

    Ambari 的维护模式(Maintenance Mode)介绍 Ambari 提供的 Maintenance Mode,是为了让用户在调试或者维护 Service 的时候,抑制不必要的告警(Aler ...

  8. C# 线程的暂停和恢复的 实现

    我们可以通过ManualResetEvent类来实现. 声明, 初始化时不执行 private static ManualResetEvent _eventWorkList = new ManualR ...

  9. zk 09之:Curator之二:Path Cache监控zookeeper的node和path的状态

    在实际应用开发中,当某个ZNode发生变化后我们需要得到通知并做一些后续处理,Curator Recipes提供了Path Cache 来帮助我们轻松实现watch ZNode. Path Cache ...

  10. CUDA 9.1/9.2 与 Visual Studio 2017 (VS2017 15.6.4) 的不兼容问题

    2018年7月9日更新: CUDA已推出9.2版本,最高支持MSVC++ 14.13 _MSC_VER == 1913 (Visual Studio 2017 version 15.6). 然而最新版 ...