2018 Multi-University Training Contest 3 杭电多校第三场
躺了几天 终于记得来填坑了
1001 Ascending Rating (hdoj 6319)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6319
单调队列 具体有点类似双端队列滑动窗口
题意:在一个队列中 每次都给定一个固定长度的区间 从i=1开始向后移动 每次在这个区间中进行a[i]和a[j]的比较 若a[i]<a[j] count++ 最大值更新为a[j] ,每个区间的最大值和count都分别异或i 求出分别的和
求区间最大值可以比较容易的想到单调队列 在求count的时候 正向求难以在规定的时间内求得 想到的做法是从后往前使用双端队列 因为这题谜之卡常 从头一个队列从尾一个队列 两个队列就超时 将两个都从尾部扫
代码如下
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
using namespace std;
const int maxn=1e7+;
long long a[maxn],qq[maxn];
int main(){
int t,n,m,k;
long long p,q,r,mod;
scanf("%d",&t);
while(t--){
int head=,tail=;
scanf("%d%d%d%lld%lld%lld%lld",&n,&m,&k,&p,&q,&r,&mod);
for(int i=;i<=k;i++) scanf("%lld",&a[i]);
for(int i=k+;i<=n;i++) a[i]=((a[i-]*p)%mod+(q*i)%mod+r)%mod;
for(int i=n;i>=n-m+;i--){
while(head<tail&&a[qq[tail-]]<=a[i]) tail--;
qq[tail++]=i;
}
long long ans=,cnt=;
ans+=a[qq[head]]^(n-m+);
cnt+=(tail-head)^(n-m+);
for(int i=n-m;i>=;i--){
while(qq[head]>i+m-&&head<tail) ++head;
while(head<tail&&a[qq[tail-]]<=a[i]) --tail;
qq[tail++]=i;
ans+=a[qq[head]]^i;
cnt+=(tail-head)^i;
}
printf("%lld %lld\n",ans,cnt);
}
return ;
}
1004 Euler Function (hdoj 6322)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6322
签到题
题意:给出了欧拉函数的定义 求欧拉函数为合数的第k个数是什么
题目说的有点绕 但是看懂了 就是在介绍欧拉函数 在数论中 对于正整数N,少于或等于N ([1,N]) 且与N互质的正整数(包括1)的个数 记作φ(n) 即为欧拉函数
这是一题假的数论题 可以打个表找个规律 发现第一个合数为5 第二个为7 之后第三个数就是k+5
代码如下
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<iostream> using namespace std; int main(){
int t,k;
scanf("%d",&t);
while(t--){
scanf("%d",&k);
if(k==) printf("5\n");
if(k==) printf("7\n");
if(k>=) printf("%d\n",k+);
}
return ;
}
1006 Grab The Tree (hdoj 6324)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6324
签到题
除了异或和为0是平手 其余情况都是先手必胜
代码如下
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring> using namespace std;
const int maxn = 1e6 + ;
int a[maxn]; int main(){
int t, n, u, v, sum;
scanf("%d", &t);
while (t--){
scanf("%d", &n);
sum = ;
for (int i = ; i < n; i++){
scanf("%d", &a[i]);
sum ^= a[i];
}
for (int i = ; i < n-; i++){
scanf("%d%d", &u, &v);
}
if(sum == ) printf("D\n");
else printf("Q\n");
}
return ;
}
1012 Visual Cube (hdoj 6330)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6330
签到题 模拟题
题意:根据题意 给出了长方体的长宽高 模拟出长方体
难度不大 但是非常麻烦并且让人头疼……
代码如下
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn=;
char mp[maxn][maxn];
int t,a,b,c,m,n; int main(){
scanf("%d",&t);
while(t--){
scanf("%d%d%d",&a,&b,&c);
n=*c++*b;
m=*a++*b;
//初始化
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
mp[i][j]='.';
}
}
//上方 +-的构造
for(int i=;i<=*b;i+=){
for(int j=*b-i+;j<=*a+*b-i+;j++){
if(j%==) mp[i][j]='+';
else mp[i][j]='-';
}
for(int j=*a+*b-i++;j<=m;j++){
if(j%==) mp[i][j]='+';
}
}
//| /的构造
for(int i=;i<=*b;i+=){
for(int j=*b-i+;j<=m;j++){
if(j%==) mp[i][j]='/';
}
for(int j=m;j>=m-i+;j-=){
mp[i][j]='|';
}
}
for(int i=*b+;i<=n;i+=){
for(int j=;j<=m;j+=){
mp[i][j]='|';
}
for(int j=*a+;j<=m;j+=){
mp[i][j]='/';
}
}
//下方的+-构造
for(int i=*b+;i<=*c+;i+=){
for(int j=;j<=*a+;j++){
if(j%==) mp[i][j]='+';
else mp[i][j]='-';
}
for(int j=*a+;j<=m;j++){
if(j%==) mp[i][j]='+';
}
}
for(int i=n;i>*c+;i-=){
for(int j=;j<=*a+;j++){
if(j%==) mp[i][j]='+';
else mp[i][j]='-';
}
for(int j=*a+;j<=m;j++){
if(j%==) mp[i][j]='+';
}
}
int pos=;
for(int i=;i<*b+;i++){
for(int j=;j<=*b+-i;j++){
mp[i][j]='.';
}
}
for(int i=n;i>*c+;i--){
for(int j=*a++pos;j<=m;j++){
mp[i][j]='.';
}
pos++;
}
//输出
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
printf("%c",mp[i][j]);
}
printf("\n");
}
}
return ;
}
2018 Multi-University Training Contest 3 杭电多校第三场的更多相关文章
- 2018 Multi-University Training Contest 1 杭电多校第一场
抱着可能杭电的多校1比牛客的多校1更恐怖的想法 看到三道签到题 幸福的都快哭出来了好吗 1001 Maximum Multiple(hdoj 6298) 链接:http://acm.hdu.edu. ...
- 2018 Multi-University Training Contest 9 杭电多校第九场 (有坑待补)
咕咕咕了太久 多校博客直接从第三场跳到了第九场orz 见谅见谅(会补的!) 明明最后看下来是dp场 但是硬生生被我们做成了组合数专场…… 听说jls把我们用组合数做的题都用dp来了遍 这里只放了用组 ...
- 2018 Multi-University Training Contest 2 杭电多校第二场
开始逐渐习惯被多校虐orz 菜是原罪 1004 Game (hdoj 6312) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6312 虽然披着 ...
- 2018杭电多校第三场1003(状态压缩DP)
#include<bits/stdc++.h>using namespace std;const int mod =1e9+7;int dp[1<<10];int cnt[1& ...
- 杭电多校第三场 A Ascending Rating
Problem Description Before the start of contest, there are n ICPC contestants waiting in a long queu ...
- 2019年杭电多校第三场 1008题Game(HDU6610+带修改莫队+Nim博弈)
题目链接 传送门 题意 给你\(n\)堆石子,每堆有\(a_i\)堆石子,\(q\)次操作: 在\([L,R]\)内有多少个子区间使得\(Alice\)(先手)在\(Nim\)博弈中获胜: 交换\(a ...
- 2019年杭电多校第三场 1011题Squrirrel(HDU6613+树DP)
题目链接 传送门 题意 给你一棵无根树,要你寻找一个根节点使得在将一条边权变为\(0\)后,离树根最远的点到根节点的距离最小. 思路 本题和求树的直径很像,不过要记得的东西有点多,且状态也很多. \( ...
- [2019杭电多校第三场][hdu6609]Find the answer(线段树)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6609 大致题意是求出每个位置i最小需要将几个位置j变为0(j<i),使得$\sum_{j=1}^ ...
- [2019杭电多校第三场][hdu6608]Fansblog
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6608 大致题意是比p小的最大素数q,求q!%p的值. 由威尔逊定理开始推: $(p-1)!\equiv ...
随机推荐
- SVN提交前准备
操作步骤1: 操作步骤2: 操作步骤3: 操作步骤4: 操作步骤5: 操作步骤6:查看 操作步骤7:ignore 操作步骤8:直接提交项目
- TensorFlow tensor张量拼接concat - split & stack - unstack
TensorFlow提供两种类型的拼接: tf.concat(values, axis, name='concat'):按照指定的已经存在的轴进行拼接 tf.stack(values, axis=0, ...
- SonarQube(代码质量管理)环境搭建
继 Centos6.6安装Subversion版本控制工具(Subversion + Apache + jsvnadmin) 后,搭建代码质量管理环境 IP:10.0.210.112 环境:Cento ...
- 使用git 上传项目到gitee/github
参考: https://blog.csdn.net/qq944639839/article/details/79864081 注意:在此之前需要设置ssh公匙 详见:Github/github 初始化 ...
- excel vlookup简易样例【原】
vlookup功能 vlookup主要用来做映射,就像java的map一样. 比如我要找id为2的学生对应的名字,那么在F7单元格录入=VLOOKUP(E7,$A$2:$B$4,2,FALSE) 实际 ...
- logstash日志采集工具的安装部署
1.从官网下载安装包,并通过Xftp5上传到机器集群上 下载logstash-6.2.3.tar.gz版本,并通过Xftp5上传到hadoop机器集群的第一个节点node1上的/opt/uploads ...
- 细说REST API安全之防止重放攻击
一. 重放攻击概述 百科对重放攻击的描述:https://zh.wikipedia.org/wiki/%E9%87%8D%E6%94%BE%E6%94%BB%E5%87%BB简而言之,重放攻击的产生是 ...
- IScroll基本用法
一.为了防止手机上卡顿:1.从新设置一下焦点.2. <script>try { window.PointerEvent = undefined; } catch (e) { } </ ...
- Metaprogramming
Metaprogramming https://en.wikipedia.org/wiki/Metaprogramming 元编程, 是一种编程技术, 制造的计算机程序,具有这种能力, 对待程序为他们 ...
- Java--- Ambiguous mapping. Cannot map "***Controller" been method解决办法
打开网页报错: Ambiguous mapping. Cannot map 'handController' method public com.smallchill.core.toolbox.aj ...