Atcoder Panasonic Programming Contest 2020
前三题随便写,D题是一道dfs的水题,但当时没有找到规律,直接卡到结束
A - Kth Term
/ 
Time Limit: 2 sec / Memory Limit: 1024 MB
Score : 100100 points
Problem Statement
Print the KK-th element of the following sequence of length 3232:
1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51
Constraints
- 1≤K≤321≤K≤32
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
KK
Output
Print the KK-th element.
Sample Input 1 Copy
6
Sample Output 1 Copy
2
The 66-th element is 22.
Sample Input 2 Copy
27
Sample Output 2 Copy
5
The 2727-th element is 55.
随便写
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <set>
#define ll long long
const int N=1e6+10;
using namespace std;
typedef pair<int,int>PII;
int a[32]={1, 1, 1, 2, 1, 2, 1, 5, 2, 2, 1, 5, 1, 2, 1, 14, 1, 5, 1, 5, 2, 2, 1, 15, 2, 2, 5, 4, 1, 4, 1, 51};
int n;
int main(){
ios::sync_with_stdio(false);
cin>>n;
cout<<a[n-1]<<endl;
return 0;
}
B - Bishop
/ 
Time Limit: 2 sec / Memory Limit: 1024 MB
Score : 200200 points
Problem Statement
We have a board with HH horizontal rows and WW vertical columns of squares. There is a bishop at the top-left square on this board. How many squares can this bishop reach by zero or more movements?
Here the bishop can only move diagonally. More formally, the bishop can move from the square at the r1r1-th row (from the top) and the c1c1-th column (from the left) to the square at the r2r2-th row and the c2c2-th column if and only if exactly one of the following holds:
- r1+c1=r2+c2r1+c1=r2+c2
- r1−c1=r2−c2r1−c1=r2−c2
For example, in the following figure, the bishop can move to any of the red squares in one move:

Constraints
- 1≤H,W≤1091≤H,W≤109
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
H WH W
Output
Print the number of squares the bishop can reach.
Sample Input 1 Copy
4 5
Sample Output 1 Copy
10
The bishop can reach the cyan squares in the following figure:

Sample Input 2 Copy
7 3
Sample Output 2 Copy
11
The bishop can reach the cyan squares in the following figure:

Sample Input 3 Copy
1000000000 1000000000
Sample Output 3 Copy
500000000000000000
如果行是偶数,那么涂色的方格数就是 行数/2*列数,如果是奇数, 行数/2(向上取整)*列数-列数/2,因为每一列的涂色方块相差1;
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <set>
#define ll long long
const int N=1e6+10;
using namespace std;
typedef pair<int,int>PII; ll n,m,ans; int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
if(n==1 || m==1) ans=1;
else if(n%2==0)
ans=((n+1)/2)*m;
else
ans=((n+1)/2)*m-m/2;
cout<<ans<<endl;
return 0;
}
C - Sqrt Inequality
/ 
Time Limit: 2 sec / Memory Limit: 1024 MB
Score : 300300 points
Problem Statement
Does √a+√b<√ca+b<c hold?
Constraints
- 1≤a,b,c≤1091≤a,b,c≤109
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
a b ca b c
Output
If √a+√b<√ca+b<c, print Yes; otherwise, print No.
Sample Input 1 Copy
2 3 9
Sample Output 1 Copy
No
√2+√3<√92+3<9 does not hold.
Sample Input 2 Copy
2 3 10
Sample Output 2 Copy
Yes
√2+√3<√102+3<10 holds.
没什么好说的,两边平方一下确保不会卡精度
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <set>
#define ll long long
const int N=1e6+10;
using namespace std;
typedef pair<int,int>PII; long double a,b,c; int main(){
ios::sync_with_stdio(false);
cin>>a>>b>>c;
c=c-a-b;
if(c<=0) cout<<"No"<<endl;
else{
c=c*c/4;
if(a*b<c) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}
D - String Equivalence
/ 
Time Limit: 2 sec / Memory Limit: 1024 MB
Score : 400400 points
Problem Statement
In this problem, we only consider strings consisting of lowercase English letters.
Strings ss and tt are said to be isomorphic when the following conditions are satisfied:
- |s|=|t||s|=|t| holds.
- For every pair i,ji,j, one of the following holds:
- si=sjsi=sj and ti=tjti=tj.
- si≠sjsi≠sj and ti≠tjti≠tj.
For example, abcac and zyxzx are isomorphic, while abcac and ppppp are not.
A string ss is said to be in normal form when the following condition is satisfied:
- For every string tt that is isomorphic to ss, s≤ts≤t holds. Here ≤≤ denotes lexicographic comparison.
For example, abcac is in normal form, but zyxzx is not since it is isomorphic to abcac, which is lexicographically smaller than zyxzx.
You are given an integer NN. Print all strings of length NN that are in normal form, in lexicographically ascending order.
Constraints
- 1≤N≤101≤N≤10
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
NN
Output
Assume that there are KK strings of length NN that are in normal form: w1,…,wKw1,…,wK in lexicographical order. Output should be in the following format:
w1w1
::
wKwK
Sample Input 1 Copy
1
Sample Output 1 Copy
a
Sample Input 2 Copy
2
Sample Output 2 Copy
aa
ab
首先在纸上列一下,找出规律,直接dfs全排列,但是要注意第k位能取的字母数是前k-1字母的种类数+1;
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <set>
#define ll long long
const int N=1e6+10;
using namespace std;
typedef pair<int,int>PII; int n;
int p=0,dif=0;
char s[N]; void dfs(int u){
if(u==n){
puts(s);
return;
} for(char i=0;i<=dif;++i){
s[p++]=i+'a';
int tmp=dif;
if(i==dif) dif++;
dfs(u+1);
p--;
dif=tmp;
} } int main(){
ios::sync_with_stdio(false);
cin>>n;
dfs(0);
return 0;
}
Atcoder Panasonic Programming Contest 2020的更多相关文章
- atcoder Keyence Programming Contest 2020 题解
比赛地址 A 题意:给一个\(n*m\)的初始为白色的矩阵,一次操作可以将一行或一列染成 黑色,问至少染出\(k\)个黑点的最少操作次数. \(n\),\(m\)<=100,\(k\)<= ...
- AtCoder AIsing Programming Contest 2020 D - Anything Goes to Zero (二进制,模拟)
题意:给你一个长度为\(n\)的\(01\)串,从高位到低位遍历,对该位取反,用得到的十进制数\(mod\)所有位上\(1\)的个数,不断循环直到为\(0\),输出每次遍历时循环的次数. 题解:根据题 ...
- M-SOLUTIONS Programming Contest 2020 题解
M-SOLUTIONS Programming Contest 2020 题解 目录 M-SOLUTIONS Programming Contest 2020 题解 A - Kyu in AtCode ...
- [AtCoder] NIKKEI Programming Contest 2019 (暂缺F)
[AtCoder] NIKKEI Programming Contest 2019 本来看见这一场的排名的画风比较正常就来补一下题,但是完全没有发现后两题的AC人数远少于我补的上一份AtCoder ...
- [AtCoder] Yahoo Programming Contest 2019
[AtCoder] Yahoo Programming Contest 2019 很遗憾错过了一场 AtCoder .听说这场是涨分场呢,于是特意来补一下题. A - Anti-Adjacency ...
- Panasonic Programming Contest (AtCoder Beginner Contest 186) E.Throne (数学,线性同余方程)
题意:有围着一圈的\(N\)把椅子,其中有一个是冠位,你在离冠位顺时针\(S\)把椅子的位置,你每次可以顺时针走\(K\)个椅子,问最少要走多少次才能登上冠位,或者走不到冠位. 题解:这题和洛谷那个青 ...
- AtCoder NIKKEI Programming Contest 2019 C. Different Strokes (贪心)
题目链接:https://nikkei2019-qual.contest.atcoder.jp/tasks/nikkei2019_qual_C 题意:给出 n 种食物,Takahashi 吃下获得 a ...
- AtCoder Dwango Programming Contest V E
题目链接:https://dwacon5th-prelims.contest.atcoder.jp/tasks/dwacon5th_prelims_e 题目描述: 给定一个大小为\(N\)的数组\(A ...
- HHKB Programming Contest 2020【ABCE】
比赛链接:https://atcoder.jp/contests/hhkb2020/tasks A - Keyboard 代码 #include <bits/stdc++.h> using ...
随机推荐
- CentOS | python3.7安装指南
前言: centos系统本身默认安装有python2.x,版本x根据不同版本系统有所不同 可通过 python --V 或 python --version 查看系统自带的python版本 有一些系统 ...
- 修改hosts文件后不生效,该怎么办
对于web开发来说,经常需要修改hosts文件,用来将域名与ip对应匹配.但是有时候发现hosts文件明明已经改了,但就是不生效,页面还会跳到某个丧心病狂的私人小站.hosts文件不生效有很多种原因, ...
- 【MySQL】MySQL知识图谱
MySQL 文章目录 MySQL 表 锁 索引 连接管理 事务 日志系统 简单记录 极客时间 - MySQL实战45讲 MySQL知识图谱 表 表 引擎选择 编码问题 表空间管理 字段设计 备份和恢复 ...
- utraedit不小心把打开文件列表弄得不显示的处理办法
视图->视图/列表->打开文件标签
- 【Linux】如何查看命令来源于哪个包
Debian:(Ubuntu等) 先安装apt-file sudo apt-get install -y apt-file apt-file update 查询命令:(已查询ifconfig为例) r ...
- Pandas的数据分组-aggregate聚合
在对数据进行分组之后,可以对分组后的数据进行聚合处理统计. agg函数,agg的形参是一个函数会对分组后每列都应用这个函数. import pandas as pd import numpy as n ...
- ORA-00054: 資源正被使用中, 請設定 NOWAIT 來取得它, 否則逾時到期
1.查看被使用资源的OBJECT_ID SELECT *FROM DBA_OBJECTS WHERE OBJECT_NAME='OBJECT_NAME' 2.查看资源被谁占用SELECT * FROM ...
- 与图论的邂逅05:最近公共祖先LCA
什么是LCA? 祖先链 对于一棵树T,若它的根节点是r,对于任意一个树上的节点x,从r走到x的路径是唯一的(显然),那么这条路径上的点都是并且只有这些点是x的祖先.这些点组成的链(或者说路径)就是x的 ...
- 1.5V升压3V集成电路升压芯片
干电池1.5V升压3V的升压芯片,适用于干电池升压产品输出3V供电 1.5V输入时,输出3V,电流可达500MA. PW5100是一款效率大.10uA低功耗 PW5100输入电压:0.7V-5V PW ...
- Flask源码流程分析(一)
Flask源码流程分析: 1.项目启动: 1.实例化Flask对象 1. 重要的加载项: * url_rule_class = Rule * url_map_class = Map * session ...