2020.10.9--vj个人赛补题
B - A Tide of Riverscape
题意:给出一组字符串,由‘0’,‘1’,‘ . ’组成,‘ . ’可以换成 0或1,判断第 i 个和第 i+p 个字符是否可以不相等,如果可以则输出满足条件的字符串
题解:先把所有的‘ . ’换成0或1,在判断 i 和i+p 以及i 和 i-p 是否一样,一样则把原来的‘ . ’换成相反的1 或0 ,最后判断是否有一组周期为p的点不同
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,p,i,j;
cin>>n>>p;
string s;
cin>>s;
int k=0;
for(i=0;i<n;i++)
{
if(s[i]=='.')
{
s[i]='0';//将所有的点换成‘0’
if(i+p<n&&s[i+p]=='0'||i-p>=0&&s[i-p]=='0')//判断两点是否一样
s[i]='1';
}
if(i+p<n&&s[i]!=s[i+p])//判断是否有一组周期为p的点不同
{
k=1;
}
}
if(k==1)
{
for(i=0;i<n;i++)
{
cout<<s[i];
}
cout<<endl;
}
else cout<<"No"<<endl; }
题意:计算x^y与y^x的大小,如果两者相减误差非常小则等于输出“=”,如果x^y大于y^x则输出“>",如果小于则输出“<”;
题解:运用对数来比较,都化成以e为底的对数形式,xy = e ln (x^y) = e y(ln x)
也可以使用其他形式的对数函数:
double log (double); 以e为底的对数
double log10 (double);c++中自然对数函数:log(N)
以10为底:log10(N)
但没有以2为底的函数但是可以用换底公式解 决:log2(N)=log10(N)/log10(2)
/*double log (double); 以e为底的对数
double log10 (double);c++中自然对数函数:log(N)
以10为底:log10(N)
但没有以2为底的函数但是可以用换底公式解 决:log2(N)=log10(N)/log10(2)*/
#include<bits/stdc++.h>
using namespace std;
const int esp=1e-9;//误差范围
int main()
{
int x,y;
scanf("%d%d",&x,&y);
double a,b;//x^y: log(x^y)=y*log(x):以e为底的对数
a=log(x)*y;
b=log(y)*x;
if(fabs(a-b)<=esp)cout<<"="<<endl;
else if(a-b>0)cout<<">"<<endl;
else cout<<"<"<<endl; }
题意:
现在是2018年中期,玛丽亚·斯特帕诺夫娜(Maria Stepanovna)住在克拉斯诺卡芒斯克(Krasnokamensk, Zabaikalsky地区的一个小镇)郊外,她想租三个展板来突出一个重要问题。沿道路放置n个显示器,其中第i个显示器只能显示字体大小为si的文本。Maria Stepanovna想要租这样的三种显示器,带有 i<j<k 索引,如果你沿着道路沿着一个特定的方向移动,字体大小就会增加。也就是说,必须遵守 si<sj<sk 的条件。第i个显示器的租金是ci请确定Maria Stepanovna需要支付的最小费用。
第一行包含单个整数n(3≤n≤3000)-显示的数量。
第二行包含n个整数s1,s2,…,sn(1≤si≤109)-显示器上的字体大小,按它们沿道路排列的顺序排列。
第三行包含n个整数c1,c2,…,cn(1≤ci≤108)-每个显示器的租金。
如果没有三个显示满足条件,则打印-1。否则打印一个整数-三个显示器的最低总租金成本指数 i<j<k,使 si<sj<sk。
题解:选取一个中间值进行比较,用min( , )依次选出第一个和最后一个符合条件的,最后选出总和最小的
#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll N = 3e3 + 100;
const int maxn = 0x3f3f3f3f;
ll dp[N];
ll c[N];
int main() {
int n;
cin>>n;
ll i,a,b,z,j;
for(i=0;i<n;i++)
{
scanf("%lld",&dp[i]);
}
for(i=0;i<n;i++)scanf("%lld",&c[i]);
z=maxn;
ll k;
for(i=0;i<n;i++)
{
a=b=maxn;
for(j=0;j<i;j++)
{
if(dp[i]>dp[j])a=min(a,c[j]);
}
for(k=i+1;k<n;k++)
{
if(dp[k]>dp[i])b=min(b,c[k]);
}
z=min(z,c[i]+a+b);
}
if(a==maxn)cout<<"-1"<<endl;
else printf("%lld\n",z);
}
2020.10.9--vj个人赛补题的更多相关文章
- 2020.10.17-pta天梯练习赛补题
7-5敲笨钟 微博上有个自称"大笨钟V"的家伙,每天敲钟催促码农们爱惜身体早点睡觉.为了增加敲钟的趣味性,还会糟改几句古诗词.其糟改的方法为:去网上搜寻压"ong&quo ...
- 2020.10.30--vj个人赛补题
D - D CodeForces - 743A Vladik is a competitive programmer. This year he is going to win the Interna ...
- 2020.10.16--vj个人赛补题
D - Drinks Choosing Old timers of Summer Informatics School can remember previous camps in which eac ...
- 2020.10.23-vj个人赛补题
B - B Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s consistin ...
- QFNU-ACM 2020.04.05个人赛补题
A.CodeForces-124A (简单数学题) #include<cstdio> #include<algorithm> #include<iostream> ...
- 2020.12.3--vj个人赛补题
A Vasya studies music.He has learned lots of interesting stuff. For example, he knows that there are ...
- 2020.12.20-Codeforces Round #105补题
B - Escape The princess is going to escape the dragon's cave, and she needs to plan it carefully. Th ...
- 牛客 2020.10.20 TG 前两题
T1 GCD 数学水题... 对于每个数,如果这个数有两个及以上的质因数的话,它所有除 \(1\) 之外的因数求 \(GCD\) 的值一定为 \(1\).那么判断是否是质数或质数的次方即可(质数除 \ ...
- 2020.11.14-pta天梯练习赛补题
7-7 矩阵A乘以B 给定两个矩阵A和B,要求你计算它们的乘积矩阵AB.需要注意的是,只有规模匹配的矩阵才可以相乘.即若A有Ra行.Ca列,B有Rb行.Cb列,则只有Ca ...
随机推荐
- 一个double free相关问题的澄清
引言 前一阵定位 Oracle 的 OCI 接口相关的一个内存释放问题,在网上看到了链接如下的这篇文章: 一个C++bug引入的许多知识 看到后面说 vector 里的两个单元里的内部成员指针地址是一 ...
- JavaWeb_MVC 设计模式
Servlet缺点:(1)用servlet进行显示(out)会很麻烦,因为servlet是一个类,托福ibt并不擅长做显示:(2)servlet直接访问数据表的话,servlet内的访问和操作数据表的 ...
- ☕【Java技术指南】「难点-核心-遗漏」Java线程状态流转及生命周期的技术指南(知识点串烧)!
前提介绍 本章主要介绍相关线程声明周期的转换机制以及声明周期的流转关系以及相关AQS的实现和相关的基本原理,配合这相关官方文档的中英文互译的介绍. 线程状态流转及生命周期 当线程被创建并启动以后,它既 ...
- Kubernetes 持久化数据存储 StorageClass
文章链接 PV 和 PVC 模式要先创建好 PV,然后再定义好 PVC 进行一对一的绑定.那么如果遇到大集群,也一一的创建吗?这样来说维护成本很高,工作量大.这个时候就有了 Kubernetes 提供 ...
- WEB漏洞——RCE
RCE(remote command/code execute)远程命令/代码执行漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统. RCE漏洞 应用程序有时需要调用一 ...
- python-request 实现企业微信接口自动化-1(DDT)
环境准备 python+requests 读取企业微信api开发文档,得知调用企业微信接口必须先获取企业微信的accesstoken是通过 ("corpid","&quo ...
- MyBatis的多表查询笔记
MyBatis的多表查询 随着学习的进步,需求的提高,我们在实际开发中用的最多的还是多表查询,就让我们一起学习MyBatis中的多表查询. 数据库准备 Class表 Student表 项目结构 这次使 ...
- 物理机burp抓虚拟机包
先设置网络连接为NAT模式. 这就相当于主机虚拟出一个网卡,虚拟机单独成为一个网段(相当于虚拟机为单独一台主机,物理机作为路由器网关使用),我将会在物理机,也就是这个"路由器"上设 ...
- learn git(本地仓库)
#本地 在Windows上安装Git 在Windows上使用Git,可以从Git官网直接https://git-scm.com/downloads下载,然后按默认选项安装即可. 装完成后,在开始菜单里 ...
- Docker系列(4)- run的流程和docker原理
回顾HelloWorld流程 底层工作原理 Docker是怎么工作的? Docker是一个Client-Server结构的系统,Docker的守护进程运行在宿主机上.通过Socket从客户端访问 Do ...