2019-06-03 校内python模拟题解(所有非原题)
本题改编自USACO(USA Computing Olympiad) 1.1节的第一题
(感谢lsy同学对本题题面的贡献)
直接计算就好了
chr:将ASCII码转成字符
ord:字符对应的ASCII码值
注意:初始化为1,否则会乘0
s1=input()
s2=input()
sum1=1
sum2=1
for i in s1:
sum1*=(ord(i)-ord('A')+1)
sum1%=47//边乘边模
for i in s2:
sum2*=(ord(i)-ord('A')+1)
sum2%=47
if sum1==sum2:
print("HAHA")
else:
print("TOOBAD")
大水题,送分的
s=input()
print(s+"txdy!")
对于每一个数,我们用一个列表来记录它出现的次数
然后我们再看有多少个数出现了3次和两次就行了
s=input()
cnt=[0]*20
for i in s:
cnt[ord(i)-ord('')]+=1
sum3=0
sum2=0
for i in range(0,8):
if cnt[i]==3:
sum3+=1
elif cnt[i]==2:
sum2+=1
if sum3==4 and sum2==1:
print("djqtql!")
else :
print("Fake!")
直接移动即可,注意特判‘z'
s=input()
for i in s:
if i=='z':
print('a',end="")
else :
print(chr(ord(i)+1),end="")
提示:本题有彩蛋
这题我们要用到一个思想——贪心(greedy)
本题我们只需要考虑律师是死是活
大家仔细想想,是不是他挡掉最大一次攻击是最优的呢?
于是这题就出来了:
hp,n,m=map(int,input().split())
a=list(map(int,input().split()))
b=list(map(int,input().split()))
sum=0
tmp=0
for i in b:
sum+=a[i-1]
tmp=max(tmp,a[i-1])
sum-=tmp
if sum<hp:
print("Alive")
else:
print("Dead")
对于OIer(包括前OIer)们,建议你们再看看这题的另外一种做法:dp
设dp[i][0/1]表示第i次攻击律师能承受的最小可能的伤害,其中0表示没有挡过,1表示挡过了
状态转移方程:
dp[i][0]=dp[i-1][0]+a[b[i]]
dp[i][1]=max(dp[i-1][0],dp[i-1][1]+a[b[i]])
(python代码被我Gu掉了,咕咕咕~)
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+;
int dp[maxn][];
int a[maxn];
int b[maxn];
int w,n,m;
int main(){
cin>>w>>n>>m;
for(int i=;i<=n;i++) cin>>a[i];
for(int i=;i<=m;i++) cin>>b[i];
dp[][]=dp[][]=w;
for(int i=;i<=m;i++){
dp[i][]=dp[i-][]-a[b[i]];
dp[i][]=max(dp[i-][]-a[b[i]],dp[i-][]);
}
int ans=max(dp[m][],dp[m][]);
if(ans>) printf("Alive\n");
else printf("Dead\n");
return ;
}
2019-06-03 校内python模拟题解(所有非原题)的更多相关文章
- 【字符串大模拟】潜伏者—— NOIP2009原题
洛谷连接 就一道黄题没啥可以说的……就是要细心…… 学到了神奇的优化 ios::sync_with_stdio(false); cin优化,能跑的比scanf快!棒!(不过要开std) 这题真的还挺简 ...
- 001-电脑操作规范-2019年03月.doc
001-电脑操作规范-2019年03月.doc 本文作者:徐晓亮 BoAi 作者腾讯QQ号码:595076941 /////////////////////////////////////// ...
- 【py登陆】python模拟登录
用Python模拟登录网站 前面简单提到了 Python 模拟登录的程序,但是没写清楚,这里再补上一个带注释的 Python 模拟登录的示例程序.简单说一下流程:先用cookielib获取cookie ...
- Tensorflow学习笔记2019.01.03
tensorflow学习笔记: 3.2 Tensorflow中定义数据流图 张量知识矩阵的一个超集. 超集:如果一个集合S2中的每一个元素都在集合S1中,且集合S1中可能包含S2中没有的元素,则集合S ...
- MySQL实验准备(二)--Python模拟数据(MySQL数据库)
Python模拟数据(MySQL数据库) 数据模拟 目的:模拟多个表的插入和查询数据的模拟,再通过基准测试脚本测试服务器性能和收集数据,仿真模拟. 备注: 如果需要基础的python环境,可以查看&l ...
- 2019.11.9 csp-s 考前模拟
2019.11.9 csp-s 考前模拟 是自闭少女lz /lb(泪奔 T1 我可能(呸,一定是唯一一个把这个题写炸了的人 题外话: 我可能是一个面向数据编程选手 作为一个唯一一个写炸T1的人,成功通 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组
2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色
2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...
- 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)
2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...
随机推荐
- 【已解决】老型号电脑需要按F1键才能进入系统
[已解决]老型号电脑需要按F1键才能进入系统 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Tue, 16 Jul 2019 20:49:00 +0800 问题描述:电脑因 ...
- Android面试题 描述一下android的系统架构
android系统架构从下往上为linux内核层.运行库.应用程序框架层和应用程序层. Linux Kernel:负责硬件的驱动程序.网络.电源.系统安全以及内存管理等功能. Libraries和an ...
- Python memory error的问题
前段时间在读取一个文件的过程中,竟然出现了Memory Error!简直让我怀疑自己买了个假电脑,毕竟是8G内存i7处理器,一度怀疑自己装了假的内存条....下面说一下几个解题步骤....一般就是用下 ...
- 阿里云ECS配置JDK和tomcat
一.配置JDK 1.利用Xftp连接ECS 2.新建文件夹 在ECS上新建一个放压缩包的文件夹,便于整理 (此处也可以在xshell中利用代码新建mkdir /home/temp) 3.将下载好的JD ...
- Pyspark笔记一
1. pyspark读csv文件后无法显示中文 #pyspark读取csv格式时,不能显示中文 df = spark.read.csv(r"hdfs://mymaster:8020/user ...
- Spring Cloud 之 服务网关
在微服务架构体系中,使用API 服务网关后的系统架构图如下: API服务网关的主要作用如下: 服务访问的统一入口 服务访问的负载均衡功能 服务访问的路由功能 在SpringCloud中,基于Netfl ...
- java基础(4)---引用数据类型(数组、字符串、集合)
一.数组 格式: int[] nums; 1. 数据类型[] 数组名称; 2. 数据类型 数组名称[]; (不太推荐) 动态初始化: new int[4] 数据类型[] 数组名称 = new 数据类 ...
- [转]神奇的 SQL 之层级 → 为什么 GROUP BY 之后不能直接引用原表中的列
原文:https://www.cnblogs.com/youzhibing/p/11516154.html 这篇文章,对group by的讲解不错 -------------------------- ...
- java中的finally用法总结
不管 try 语句块正常结束还是异常结束,finally 语句块是保证要执行的.如果 try 语句块正常结束,那么在 try 语句块中的语句都执行完之后,再执行 finally 语句块.如果 try ...
- main方法中参数"String[ ] args"详解
1.在编写完一个有主方法的java文件时,需要在cmd窗口中先编译此java文件(javac xxx.java),然后再运行(java xxx) 其实在运行java xxx的时候如果后面跟着参数用空格 ...