【瓜分5000元奖金】Wannafly挑战赛13

链接:https://www.nowcoder.com/acm/contest/80/A
来源:牛客网

zzy的小号
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述


学家zzy根据字体的特点,创建了一系列小号...  I_Love_Chtholly!




又到了打wannafly的时候,许许多多的大佬准备注册小号开始虐场,zzy也不例外,他发现他的电脑的字体有一个特点!某些不同的字符所显示的是一样的!



满足以下四种情况之一,所显示的字符是一样的

1、两个字符互为英文字母的大小写

2、大写的'i'和小写的'l'

3、大写的'o'和数字'0'

4、基于前三种情况,三个字符a,b,c,如果a和b显示相同,b和c显示相同,那么a和c显示也是相同的

珂学家zzy想知道,对于一个他看起来相同的昵称,有多少个看起来一样的昵称

两个字符串看起來一样当且仅当长度一样且每个对应的位置的字符看起來一样



输入描述:

一个字符串,只包含大小写字母和数字

输出描述:

共一行一个整数,表示看起来一样的昵称数,由于这个数比较大,所以只要求输出模1e9 + 7意义下的解
示例1

输入

abcdl

输出

64

说明

第一个位置、第二个位置、第三个位置、第四个人位置都只有两种显示相同的字符
第五个位置有四种显示相同的字符

备注:

字符串长度1<=|S|<=1e5

第三条规则看了一年,枚举了一年,就是特殊字符支持来回转换,那就乘*2,*3,*4的差别

#include<bits/stdc++.h>
using  namespace std;
const int MD=1e9+7;
int main()
{string s;cin>>s;int n=1;for(int i=0;s[i];i++)if(s[i]>='1'&&s[i]<='9')continue;else if(s[i]=='I'||s[i]=='l'||s[i]=='i'||s[i]=='L')n=n*1LL*4%MD;else if(s[i]=='O'||s[i]=='0'||s[i]=='o')n=n*1LL*3%MD;else n=n*2%MD;cout<<n;return 0;
}

链接:https://www.nowcoder.com/acm/contest/80/B
来源:牛客网

Jxc军训
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

在文某路学车中学高一新生军训中,Jxc正站在太阳下站着军姿,对于这样的酷热的阳光,Jxc 表示非常不爽。

Jxc将天空看做一个n*n的矩阵,此时天上有m朵云,这些云会随机分布在m个不同的位置,同时太阳会随机出现在一个位置,Jxc想知道他被太阳晒到的概率是多少,由于他仍在站军姿,所以这个有趣的问题就交给了你。考虑到精度问题,Jxc只需要知道这个概率在对998244353取模意义下的值。

Tips:一个分数p/q在模意义下的值即p*q-1在模意义下的值,Xp-11 (mod p)




输入描述:

输入只有一行,包含两个整数n、m。n和m的意义见题面.

输出描述:

第一行包含一个整数Ans,为答案
示例1

输入

2 2

输出

499122177

备注:

1 <= n, m <= 2000,m <=n^2

几何概型,答案就是(n*n-m)/(n*n),直接逆元

#include<bits/stdc++.h>
using  namespace std;
typedef long long ll;
const ll MD=998244353LL;
int INV(ll x)
{return x==1?x:1LL*(MD-MD/x)*INV(MD%x)%MD;
}
int main()
{ll n,m;cin>>n>>m;cout<<(n*n-m)*INV(n*n)%MD;return 0;
}

链接:https://www.nowcoder.com/acm/contest/80/C
来源:牛客网

zzf的好矩阵
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

一个8 * 8的棋盘,第一个格子放1个麦穗,第二个格子放2个麦穗,第三个格子放4个麦穗……那么最后,共要放几个麦穗呢?

zzf表示这个问题实在太简单,于是重新规定了游戏的规则。

初始的棋盘为空,棋盘大小为p*p,然后他要对棋盘进行若干次操作,可以被选择的操作如下:

1、选择一行,每个格子再放一个麦穗

2、选择一列,每个格子再放一个麦穗

进行若干次操作后,如果得到的棋盘满足如下性质

1、每个格子都有至少一个麦穗

2、每个格子最多只能有p*p个麦穗

3、任意两个格子的麦穗数不同

如果满足以上三条,那么称这个棋盘是一个好棋盘,若只是构造一个好棋盘那就太没意思了,zzf想知道他能得到多少个不同的好矩阵

定义不同的矩阵即只要存在一个位置不同即是不同的

答案对998244353取模

输入描述:

第一行读入一个数p,表示这个棋盘的大小

输出描述:

输出一行包括一个数,表示好棋盘的个数
示例1

输入

2

输出

8

说明

样例解释 :
1 2
3 4
3 4
1 2
1 3
2 4
2 4
1 3
2 1
4 3
4 3
2 1
3 1
4 2
4 2
3 1

备注:

2 <= p <= 1e6, 保证p是质数

其实要填的东西是一定的啊,每个矩阵要加的次数是(1+n*n)*n/2假设横行值大于竖行,你会发现其实只有一种填法的,而且每个数都不同,就是他的全排列,行列不同就是两倍

感谢biu哥的真情绘图

#include<bits/stdc++.h>
using  namespace std;
typedef long long ll;
const ll MD=998244353LL;
int main()
{ll p,ans=1;cin>>p;for(int i=1;i<=p;i++)ans=ans*i%MD;cout<<ans*ans%MD*2%MD;return 0;
}

链接:https://www.nowcoder.com/acm/contest/80/D
来源:牛客网

applese的生日
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

  最可爱的applese生日啦,他准备了许多个质量不同的蛋糕,想请一些同学来参加他的派对为他庆生,为了不让一部分同学感到不爽,他决定把每个蛋糕都分割成几份(也可以不分割),使得最小的蛋糕的质量与最大的蛋糕的质量的比值不小于一个值。但是applese的刀功并不是很好,所以他希望切尽量少的刀数使得所得到的蛋糕满足条件。由于applese为了保证每一块蛋糕的质量和期望的没有偏差,所以他一刀只能切下一块蛋糕,即将一块蛋糕分成两块,同时,他不能一刀同时切两块蛋糕,也就是说,applese一次只能将一块蛋糕分割成两块指定质量的蛋糕,这两块蛋糕的质量和应等于切割前的蛋糕的质量。Applese还急着准备各种派对用的饰品呢,于是他把这个问题交给了你,请你告诉他至少要切割几次蛋糕

输入描述:

第一行包括两个数T,n,表示有n个蛋糕,最小的蛋糕的质量与最大的蛋糕的质量的比值不小于T
接下来n行,每行一个数wi,表示n个蛋糕的质量

输出描述:

输出包括一行,为最小切割的刀数
数据保证切割次数不超过500
示例1

输入

0.99 3
2000 3000 4000

输出

6

备注:

0.5 < T < 1
1 <= n <= 1000
1 <= wi <= 1000000

暴力切的刀数,但是要处理精度问题的,不然就T了

#include<bits/stdc++.h>
using  namespace std;
int w[1005],a[1005];
double eps=1e-10;
int main(){int n;int ans=-1;double t;cin>>t>>n;for(int i=0;i<n;i++)cin>>w[i];for(int i=0;i<=500;i++){int flag;double maxx=0;double maxxb=0;double minn=10000000;for(int j=0;j<n;j++){double tmp=w[j];if(tmp/(a[j]+1)>maxx){maxx=tmp/(a[j]+1);flag=j;}if(fabs(tmp/(a[j]+1)-maxx)<eps){if(w[j]>w[flag])flag=j;}maxxb=max(maxxb,tmp/(a[j]+1));minn=min(minn,tmp/(a[j]+1));}if(minn/maxxb-t>=0){ans=i;break;}else{a[flag]++;}}cout<<ans<<endl;return 0;}

 链接:https://www.nowcoder.com/acm/contest/80/E
来源:牛客网

VVQ 与线段
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld

题目描述

VVQ 最近迷上了线段这种东西

现在他手上有 n 条线段,他希望在其中找到两条有公共点的线段,使得他们的异或值最大。 定义线段的异或值为它们并的长度减他们交的长度

输入描述:

第一行包括一个正整数 n,表示 VVQ 拥有的线段条数。
接下来 n 行每行包括两个正整数 l,r,表示 VVQ 拥有的线段的 左右端点。

输出描述:

一行一个整数,表示能得到的最大异或值
示例1

输入

3 
10 100 
1 50 
50 100

输出

99

说明

选择第二条和第三条,99-0=99

备注:

1<=n<=200000,1<=l<=r<=1e8

可以作为线段树模板,用线段树用更新的,甚至堆可以过

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
struct T
{int l,r;bool operator <(const T p)const{return l+r>p.l+p.r;}
} p[N];
bool cmp(T a,T b)
{return a.l==b.l&&a.r<b.r||a.l<b.l;
}
int main()
{ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);int n;cin>>n;for(int i=0; i<n; i++)cin>>p[i].l>>p[i].r;sort(p,p+n,cmp);priority_queue<T>Q;Q.push(p[0]);int r=p[0].r,l=p[0].r-p[0].l,ans=0;for(int i=1; i<n; i++){if(p[i].r>r)r=p[i].r,l=p[i].r-p[i].l;elseans=max(ans,l-(p[i].r-p[i].l));while(!Q.empty()&&Q.top().r<p[i].l)Q.pop();if(!Q.empty())ans=max(ans,(p[i].l+p[i].r)-(Q.top().l+Q.top().r));Q.push(p[i]);}cout<<ans<<"\n";return 0;
}

 

转载于:https://www.cnblogs.com/BobHuang/p/8759682.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/254953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

X264参数设定详细解释

x264 core:65 r1074M b6bb3d4 Syntax: x264 [options] -o outfile infile [widthxheight] 语法(命令行写法)&#xff1a;x264 [参数] -o 输出文件名 输入文件名 [宽x高] 范例&#xff1a; x264 --crf 26 --ref 3 --mixed-refs --bframes 3 --b-adapt 2 --b-pyramid --weightb -…

20145217《网络对抗》 恶意代码分析

20145217《网络对抗》 免杀原理与实践 知识点学习总结 进行恶意代码分析之前必须具备以下知识&#xff1a;编程、汇编/反汇编、网络基本知识、PE文件结构以及一些常用行为分析软件。 一、在一个已经感染了恶意代码的机器上如何找到病毒文件&#xff1f; 找到恶意代码才能对其分…

HALCON示例程序measure_screw.hdev螺纹尺寸测量

HALCON示例程序measure_screw.hdev螺纹尺寸测量 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () read_image (Image, ‘screw_thread’) get_image_pointer1 (Image, Pointer, Type, Width, Height) dev_close_window () dev_open_window…

边工作边刷题:70天一遍leetcode: day 97-2

Design Hit Counter 要点&#xff1a;因为是second granularity&#xff0c;所以可以用以秒为单位的circular buffer方法。这题简单在只需要count过去300秒的&#xff0c;增加难度可以count过去秒&#xff0c;分钟&#xff0c;小时。 2个时间点都有可能更新超时的统计&#xff…

cvRemap 对图像进行普通几何变换

cvRemap 对图像进行普通几何变换 函数 cvRemap 利用下面指定的矩阵变换输入图像:   dst(x,y)<-src(mapx(x,y),mapy(x,y))   与其它几何变换类似&#xff0c;可以使用一些插值方法&#xff08;由用户指定&#xff0c;同cvResize&#xff09;来计算非整数坐标的像素值 vo…

disconf(二):服务端使用总结

1、服务端原理客户端启动&#xff0c;把配置文件&#xff0c;配置项存到仓库&#xff0c;等到服务端启动&#xff0c;从服务端拉取数据&#xff1b;服务端更新&#xff0c;则通过zk通知客户端&#xff0c;客户端知道更新后&#xff0c;会从服务端拉取最新的配置文件&#xff0c…

B2C和B2B之间有多大差距

从产品应用的角度&#xff0c;我们团队经历了企图将B2C系统套用到B2B业务流程上的阶段&#xff0c;对于自营业务这还勉强可以实施&#xff0c;但对于外部用户的实施难度就太大了&#xff0c;用户体验也不好。这个过程中&#xff0c;我只关注了技术范畴的迭代速度、而忽略了用户…

h.264 视频解码的一点小经验(ffmpeg)

最近做视频文件264解码&#xff0c;由于对这个领域不是很熟悉&#xff0c;感觉困难重重。不过经过不懈的努力&#xff0c;已经取得一些进展&#xff0c;心里感觉特别庆幸。 刚开始做这个的时候&#xff0c;由于不熟悉&#xff0c;就在网上搜寻资料&#xff0c;网络上的资料虽然…

HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测

HALCON示例程序novelty_detection_dyn_threshold.hdev纱网缺陷检测 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_window (‘off’) read_image (Image, ‘plastic_mesh/plastic_mesh_01’) dev_close_window () get_image_size (Image, Width…

配置云服务器 FTP 服务

自己配置的环境: OS: 阿里云 CentOS 6.5 >>Begin: 1. 登录到阿里云服务器(如何登录阿里云服务器), 在root权限下, 通过如下命令安装 vsftp [rootVM_250_202_tlinux ~]# yum install vsftpd 2. 在启动vsftpd服务之前&#xff0c;需要登录云服务器修改配置文件&#xff0c;…

【跃迁之路】【428天】程序员高效学习方法论探索系列(实验阶段185-2018.04.09)...

(跃迁之路)专栏 实验说明 从2017.10.6起&#xff0c;开启这个系列&#xff0c;目标只有一个&#xff1a;探索新的学习方法&#xff0c;实现跃迁式成长实验期2年&#xff08;2017.10.06 - 2019.10.06&#xff09;我将以自己为实验对象。我将开源我的学习方法&#xff0c;方法不断…

opencv中的一些陷阱 坑死我了~~~~(_)~~~~

1.这几天被opencv给坑的够惨&#xff0c;好好的程序&#xff0c;先是因为imread&#xff08;&#xff09;不能读文件&#xff0c;整了很久没整出来&#xff0c;然后改了下path路径&#xff0c;没想到后面彻底奔溃了&#xff0c;&#xff0c;&#xff0c;&#xff0c;前后大概2天…

一篇需要膜拜的文篇--Javascript异步编程模型进化(转)

要我能用得这么熟&#xff0c; 那前端出师了哈。 http://foio.github.io/javascript-asyn-pattern/ 改天一个一个亲测一下。 Javascript语言是单线程的&#xff0c;没有复杂的同步互斥&#xff1b;但是&#xff0c;这并没有限制它的使用范围&#xff1b;相反&#xff0c;借助于…

很强大的FFMPEG API Documentation

http://wiki.aasimon.org/doku.php?idffmpeg:ffmpeg 点击打开链接

HALCON示例程序obj_diff.hdev算子obj_diff 的使用

HALCON示例程序obj_diff.hdev算子obj_diff 的使用 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 read_image (Image, ‘particle’)二值化 threshold (Image, Region, 57, 255)分割连通域 connection (Region, ConnectedRegions) dev_close_window () get…

JS函数方法Call Apply Bind运用

JS 函数非继承的call和apply方法 同&#xff1a;call & apply 主要是用于扩展this指向&#xff0c;降低this作用域与函数之间的耦合度&#xff1b; 区别&#xff1a;传参差异 function.call(this/object,params1,params2,...) 第一个参数为作用域指向参数&#xff0c;后边参…

IplImage, CvMat, Mat 的关系和相互转换 再次理解 /(ㄒoㄒ)/~~

opencv中常见的与图像操作有关的数据容器有Mat&#xff0c;cvMat和IplImage&#xff0c;这三种类型都可以代表和显示图像&#xff0c;但是&#xff0c;Mat类型侧重于计算&#xff0c;数学性较高&#xff0c;openCV对Mat类型的计算也进行了优化。而CvMat和IplImage类型更侧重于“…

HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流。

HALCON示例程序optical_flow.hdev如何使用optical_flow_mg计算图像序列中的光流以及如何分割光流。 示例程序源码&#xff08;加注释&#xff09; 关于显示类函数解释 dev_update_off () dev_close_window () read_image (Image1, ‘xing/xing000’) dev_open_window_fit_ima…

数字信号处理原理

关于傅里叶变换的解释&#xff0c;在下面的链接&#xff1a;http://blog.jobbole.com/70549/ 。讲的挺详细的&#xff1a; 注意点&#xff1a; 1、信号处理基于这么一个概念&#xff0c;待处理的信号&#xff08;&#xff1f;&#xff09;都可以分解为正弦波&#xff0c;不同…

webpack的一些常用配置 (转)

webpack 的配置文件就是 Node 的一个模块&#xff0c;它导出的将是一个对象 module.exports {entry: ./entry,output: {path: path.resolve(__dirname, dist),filename: bundle.js} }如果直接使用 webpack 来执行编译&#xff0c;webpack 默认读取的是当前目录下的 webpack.co…