AtCoder Beginner Contest 114 Solution
Solved.
#include <bits/stdc++.h>
using namespace std; int mp[]; int main()
{
mp[] = mp[] = mp[] = ;
int x; cin >> x;
puts(mp[x] ? "YES" : "NO");
}
Solved.
#include <bits/stdc++.h>
using namespace std; char s[]; int f(int x)
{
int res = ;
for (int i = ; i < ; ++i) res = res * + s[i + x] - '';
return res;
} int main()
{
while (scanf("%s", s + ) != EOF)
{
int res = 0x3f3f3f3f, len = strlen(s + );
for (int i = ; i <= len - ; ++i) res = min(res, abs(f(i) - ));
printf("%d\n", res);
}
return ;
}
Solved.
题意:
找出$[1, n]中有多少个只由'7', '5', '3' 组成,并且每个字符至少出现一次的数$
思路:
这样的数不会太多,DFS构造,然后二分
#include <bits/stdc++.h>
using namespace std; vector <int> v; bool ok(int x)
{
int flag[] = {false};
while (x)
{
flag[x % ] = ;
x /= ;
}
if (flag[] == || flag[] == || flag[] == ) return false;
return true;
} void DFS(int cur, int num)
{
if (cur == )
{
if (ok(num)) v.push_back(num);
return;
}
DFS(cur + , num);
DFS(cur + , num * + );
DFS(cur + , num * + );
DFS(cur + , num * + );
} int main()
{
DFS(, );
sort(v.begin(), v.end());
v.erase(unique(v.begin(), v.end()), v.end());
int n;
while (scanf("%d", &n) != EOF) printf("%d\n", (int)(upper_bound(v.begin(), v.end(), n) - v.begin()));
return ;
}
Upsolved.
题意:
有$N!中所有因子中,有多少因子其拥有的因子个数恰好为75个$
思路:
我们考虑$75 = 75 \cdot 1 = 25 \cdot 3 = 15 \cdot 5 = 5 \cdot 5 \cdot 3$
那么我们处理出$N!中每个质因子一共有多少个,然后考虑质因子个数如何组成因子个数$
考虑一个数$x = a_1^{p_1} \cdot a_2^{p_2} \cdot a_3^{p_3}$
那么$a_1 可以提供的因子个数为 (p_1 + 1) 那么x 的因子个数即 (p_1 \cdot p_2 \cdot p_3)$
然后简单组合一下就可以了
#include <bits/stdc++.h>
using namespace std; int n;
int cnt[];
int tot[]; int f(int l, int r)
{
int res = ;
for (int i = l; i <= r; ++i) res += tot[i];
return res;
} int main()
{
while (scanf("%d", &n) != EOF)
{
memset(cnt, , sizeof cnt);
memset(tot, , sizeof tot);
for (int i = ; i <= n; ++i)
{
int tmp = i;
for(int j = ; ; ++j)
{
while (tmp % j == )
{
++cnt[j];
tmp /= j;
}
if (tmp == ) break;
}
}
for (int i = ; i <= ; ++i) ++tot[cnt[i] + ];
int res = f(, );
res += f(, ) * f(, );
res += f(, ) * (f(, ) - );
res += f(, ) * f(, );
res += f(, ) * (f(, ) - );
res += (f(, ) * (f(, ) - ) / ) * f(, );
res += ((f(, ) * (f(, ) - ) / ) * (f(, ) - ));
printf("%d\n", res);
}
return ;
}
AtCoder Beginner Contest 114 Solution的更多相关文章
- AtCoder Beginner Contest 131 Solution
前言 这次ABC还是有一点难度的吧. TaskA Security Solution 直接模拟就好了. Code /* mail: mleautomaton@foxmail.com author: M ...
- AtCoder Beginner Contest 115 Solution
A Christmas Eve Eve Eve Solved. #include <bits/stdc++.h> using namespace std; int main() { int ...
- AtCoder Beginner Contest 053 ABCD题
A - ABC/ARC Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement Smeke has ...
- AtCoder Beginner Contest 068 ABCD题
A - ABCxxx Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement This contes ...
- AtCoder Beginner Contest 154 题解
人生第一场 AtCoder,纪念一下 话说年后的 AtCoder 比赛怎么这么少啊(大雾 AtCoder Beginner Contest 154 题解 A - Remaining Balls We ...
- AtCoder Beginner Contest 238 A - F 题解
AtCoder Beginner Contest 238 \(A - F\) 题解 A - Exponential or Quadratic 题意 判断 \(2^n > n^2\)是否成立? S ...
- AtCoder Beginner Contest 100 2018/06/16
A - Happy Birthday! Time limit : 2sec / Memory limit : 1000MB Score: 100 points Problem Statement E8 ...
- AtCoder Beginner Contest 052
没看到Beginner,然后就做啊做,发现A,B太简单了...然后想想做完算了..没想到C卡了一下,然后还是做出来了.D的话瞎想了一下,然后感觉也没问题.假装all kill.2333 AtCoder ...
- AtCoder Beginner Contest 136
AtCoder Beginner Contest 136 题目链接 A - +-x 直接取\(max\)即可. Code #include <bits/stdc++.h> using na ...
随机推荐
- 微信jssdk批量添加卡券接口(踩坑经验)
1)首先是官方接口文档: 1.批量添加卡券接口:https://mp.weixin.qq.com/wiki?action=doc&id=mp1421141115&t=0.0861973 ...
- 《C++ Primer Plus》第15章 友元、异常和其他 学习笔记
友元使得能够为类开发更灵活的接口.类可以将其他函数.其他类和其他类的成员函数作为友元.在某些情况下,可能需要前向声明,需要特别注意类和方法声明的顺序,以正确地组合友元.潜逃类是在其他类中生命的类,它有 ...
- win10下安装Oracle 11g 32位客户端遇到INS-13001环境不满足最低要求
在以管理员身份运行setup.exe之后,出现了:[INS-13001]环境不满足最低要求,通过网上搜索之后找到了解决途径 首先,打开你的解压后的database文件夹,找到stage,然后cvu,找 ...
- Error setting expression 'XXX' with value 设置表达式“XXX”时出错 解决方法
1.表达式“xxx”在所调用的action里没有与之对应的对象: 2.action里有该对象作为私有成员变量但是没有get&set方法.
- poj_2774 后缀数组
题目大意 给定两个字符串A,B,求出A和B中最长公共子串的长度. 题目分析 字符串的子串可以认为是是字符串的某个后缀的前缀,而求最长公共子串相当于A和B的某两个后缀的最长相同前缀.可以考虑使用后缀数组 ...
- mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法
Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...
- MACOS配置VIM成简单IDE傻瓜式操作
零.参考文献: https://www.jianshu.com/p/f0513d18742a 一.安照我的配置:保存文件 " Configuration file for vim " ...
- 【Android】Android背景选择器selector用法汇总
一.创建xml文件,位置:drawable/xxx.xml,同目录下记得要放相关图片 <?xml version="1.0" encoding="utf-8&quo ...
- Python - 3.6 学习三
面向对象编程 面向对象编程 Object Oriented Programming 简称 OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程 ...
- 二进制状态压缩dp(旅行商TSP)POJ3311
http://poj.org/problem?id=3311 Hie with the Pie Time Limit: 2000MS Memory Limit: 65536K Total Subm ...