前三题随便写,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

Copy
6

Sample Output 1 Copy

Copy
2

The 66-th element is 22.


Sample Input 2 Copy

Copy
27

Sample Output 2 Copy

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

Copy
4 5

Sample Output 1 Copy

Copy
10

The bishop can reach the cyan squares in the following figure:


Sample Input 2 Copy

Copy
7 3

Sample Output 2 Copy

Copy
11

The bishop can reach the cyan squares in the following figure:


Sample Input 3 Copy

Copy
1000000000 1000000000

Sample Output 3 Copy

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

Copy
2 3 9

Sample Output 1 Copy

Copy
No

√2+√3<√92+3<9 does not hold.


Sample Input 2 Copy

Copy
2 3 10

Sample Output 2 Copy

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 sss≤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

Copy
1

Sample Output 1 Copy

Copy
a

Sample Input 2 Copy

Copy
2

Sample Output 2 Copy

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的更多相关文章

  1. atcoder Keyence Programming Contest 2020 题解

    比赛地址 A 题意:给一个\(n*m\)的初始为白色的矩阵,一次操作可以将一行或一列染成 黑色,问至少染出\(k\)个黑点的最少操作次数. \(n\),\(m\)<=100,\(k\)<= ...

  2. AtCoder AIsing Programming Contest 2020 D - Anything Goes to Zero (二进制,模拟)

    题意:给你一个长度为\(n\)的\(01\)串,从高位到低位遍历,对该位取反,用得到的十进制数\(mod\)所有位上\(1\)的个数,不断循环直到为\(0\),输出每次遍历时循环的次数. 题解:根据题 ...

  3. M-SOLUTIONS Programming Contest 2020 题解

    M-SOLUTIONS Programming Contest 2020 题解 目录 M-SOLUTIONS Programming Contest 2020 题解 A - Kyu in AtCode ...

  4. [AtCoder] NIKKEI Programming Contest 2019 (暂缺F)

    [AtCoder] NIKKEI Programming Contest 2019   本来看见这一场的排名的画风比较正常就来补一下题,但是完全没有发现后两题的AC人数远少于我补的上一份AtCoder ...

  5. [AtCoder] Yahoo Programming Contest 2019

    [AtCoder] Yahoo Programming Contest 2019   很遗憾错过了一场 AtCoder .听说这场是涨分场呢,于是特意来补一下题. A - Anti-Adjacency ...

  6. Panasonic Programming Contest (AtCoder Beginner Contest 186) E.Throne (数学,线性同余方程)

    题意:有围着一圈的\(N\)把椅子,其中有一个是冠位,你在离冠位顺时针\(S\)把椅子的位置,你每次可以顺时针走\(K\)个椅子,问最少要走多少次才能登上冠位,或者走不到冠位. 题解:这题和洛谷那个青 ...

  7. AtCoder NIKKEI Programming Contest 2019 C. Different Strokes (贪心)

    题目链接:https://nikkei2019-qual.contest.atcoder.jp/tasks/nikkei2019_qual_C 题意:给出 n 种食物,Takahashi 吃下获得 a ...

  8. AtCoder Dwango Programming Contest V E

    题目链接:https://dwacon5th-prelims.contest.atcoder.jp/tasks/dwacon5th_prelims_e 题目描述: 给定一个大小为\(N\)的数组\(A ...

  9. HHKB Programming Contest 2020【ABCE】

    比赛链接:https://atcoder.jp/contests/hhkb2020/tasks A - Keyboard 代码 #include <bits/stdc++.h> using ...

随机推荐

  1. 阿里云OSS整合

    一.对象存储OSS 为了解决海量数据存储与弹性扩容(主要是静态文件的存储例如图片,语音,视频等),项目中我们通常采用云存储的解决方案- 阿里云OSS. 1.开通"对象存储OSS"服 ...

  2. Vim 自动添加脚本头部信息

    每次写脚本还在为忘记添加头部信息啥的烦恼? 按照下面这么做,帮你减轻点烦恼. # 打开配置文件: vim /root/.vimrc # 添加如下信息: autocmd BufNewFile *.sh ...

  3. java创建线程安全的类

    如果一个对象想要被多个线程安全的并发访问,那么这个对象必须是或线程安全的或事实不可变的或由锁来保护的. 1.java监视器模式 大多数对象都是组合对象.当从头开始构建一个类,或者将多个非线程安全的类组 ...

  4. Python爬虫要学什么?写给小白的Python爬虫必备技能

    Python在爬虫方面用得比较多,所以你如果能掌握以下内容,找工作的时候就会顺利很多: 1.爬虫,不是抓取到数据就完事了,如果有数据抽取.清洗.消重等方面经验,也是加分项; 2.大部分的公司都要求爬虫 ...

  5. 【Redis系列】Spring boot实现监听Redis key失效事件

    talk is cheap, show me the code. 一.开启Redis key过期提醒 方式二:修改配置文件 redis.conf # 默认 notify-keyspace-events ...

  6. vue首次加载白屏过渡动画(vue优化)

    过渡动画需要在index.html文件里面添加 1.css,在public.index.css创建index.css html, body, #app { height: 100%; margin: ...

  7. Samba共享工具安装

    Samba 是一种在局域网上共享文件的一种通信协议,它为局域网内的不同计算机之间提供文件的共享服务. (1)下载并安装 Samba 工具. 确定 Ubuntu 已连接到互联网, 执行如下命令下载 Sa ...

  8. 计算机网络安全 —— 非对称加密算法 RSA 和数字签名(二)

    一.非对称加密算法基本概念 在对称密钥系统中,两个参与者要共享同一个秘密密钥.但怎样才能做到这一点呢?一种是事先约定,另一种是用信使来传送.在高度自动化的大型计算机网络中,用信使来传送密钥显然是不合适 ...

  9. 转 Jmeter测试实践:文件下载接口

    Jmeter测试实践:文件下载接口   一 Jmeter步骤 1.打开jmeter4.0,新建测试计划,添加线程组.根据实际情况配置线程属性. 2.添加HTTP请求.根据接口文档进行配置. Basic ...

  10. 如何配置 Slf4j

    一,前言 日常开发中经常需要在控制台输出一些信息,如果这些东西不加管理,那么很容易就被输出信息淹没.幸好,我们有日志相关的库来帮助我们格式化控制台的输出. 这篇文章将介绍如何配置 Slf4j 及其具体 ...