躺了几天 终于记得来填坑了

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 杭电多校第三场的更多相关文章

  1. 2018 Multi-University Training Contest 1 杭电多校第一场

    抱着可能杭电的多校1比牛客的多校1更恐怖的想法 看到三道签到题 幸福的都快哭出来了好吗 1001  Maximum Multiple(hdoj 6298) 链接:http://acm.hdu.edu. ...

  2. 2018 Multi-University Training Contest 9 杭电多校第九场 (有坑待补)

    咕咕咕了太久  多校博客直接从第三场跳到了第九场orz 见谅见谅(会补的!) 明明最后看下来是dp场 但是硬生生被我们做成了组合数专场…… 听说jls把我们用组合数做的题都用dp来了遍 这里只放了用组 ...

  3. 2018 Multi-University Training Contest 2 杭电多校第二场

    开始逐渐习惯被多校虐orz  菜是原罪 1004  Game    (hdoj 6312) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6312 虽然披着 ...

  4. 2018杭电多校第三场1003(状态压缩DP)

    #include<bits/stdc++.h>using namespace std;const int mod =1e9+7;int dp[1<<10];int cnt[1& ...

  5. 杭电多校第三场 A Ascending Rating

    Problem Description Before the start of contest, there are n ICPC contestants waiting in a long queu ...

  6. 2019年杭电多校第三场 1008题Game(HDU6610+带修改莫队+Nim博弈)

    题目链接 传送门 题意 给你\(n\)堆石子,每堆有\(a_i\)堆石子,\(q\)次操作: 在\([L,R]\)内有多少个子区间使得\(Alice\)(先手)在\(Nim\)博弈中获胜: 交换\(a ...

  7. 2019年杭电多校第三场 1011题Squrirrel(HDU6613+树DP)

    题目链接 传送门 题意 给你一棵无根树,要你寻找一个根节点使得在将一条边权变为\(0\)后,离树根最远的点到根节点的距离最小. 思路 本题和求树的直径很像,不过要记得的东西有点多,且状态也很多. \( ...

  8. [2019杭电多校第三场][hdu6609]Find the answer(线段树)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6609 大致题意是求出每个位置i最小需要将几个位置j变为0(j<i),使得$\sum_{j=1}^ ...

  9. [2019杭电多校第三场][hdu6608]Fansblog

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6608 大致题意是比p小的最大素数q,求q!%p的值. 由威尔逊定理开始推: $(p-1)!\equiv ...

随机推荐

  1. jsp+servlet+jdbc实现表单提交

    1.新建一个maven工程,选webapp模板 2.安装tomcat https://tomcat.apache.org/download-80.cgi 下载解压到自定义目录上 ps:在全局变量加上J ...

  2. Jenkins权限分配

    做完Jenkins安装.项目自动化打包部署后,当然需要对小组成员进行项目权限的分配 1.安装插件:Role-based Authorization Strategy(安装过程就展示了): 2. 插件装 ...

  3. javascript的作用域和闭包(三)闭包与模块

    一些很重要的说明:前面三篇博客详细的介绍了,引擎与编译器和作用域的关系,重点需要理解的是编译器中的分词与词法分析,JavaScript的特有的“赋值操作的左右侧”引用操作:编译阶段的词法作用域的工作原 ...

  4. hdu 6441 (费马大定理+勾股数 数学)

    题意是给定 n 和 a,问是否存在正整数 b,c 满足:a^n + b^n == c^n.输出 b  c,若不存在满足条件的 b,c,输出 -1 -1. 当 n > 2 时,由费马大定理,不存在 ...

  5. 在CentOS7上安装Zabbix3.0

    #!/bin/bash # # .配置无人值守的安装,定义安装过程中需要用到的一些信息 # mysql_root_pw=root_pw mysql_zabbix_pw=zabbix_pw DBPass ...

  6. ava.io.InputStream & java.io.FileInputStream

    java.io.InputStream & java.io.FileInputStream java.io.InputStream,这个抽象类是表示字节输入流的超类,这个抽象类的共性的方法有: ...

  7. 细说java系列之反射

    什么是反射 反射机制允许在Java代码中获取被JVM加载的类信息,如:成员变量,方法,构造函数等. 在Java包java.lang.reflect下提供了获取类和对象反射信息的相关工具类和接口,如:F ...

  8. AutoPostBack

    AutoPostBack 属性用于设置或返回当用户在 TextBox 控件中按 Enter 或 Tab 键时,是否发生自动回传到服务器的操作. 如果把该属性设置为 TRUE,则启用自动回传,否则为 F ...

  9. GCC编译器原理(三)------编译原理三:编译过程(2-1)---编译之词法分析

    二.编译 引用文档:https://blog.csdn.net/chdhust/article/details/9040647 编译过程就是把预处理完的文件进行一系列词法分析.语法分析.语义分析及优化 ...

  10. CRLF Injection漏洞的利用与实例分析

    CRLF Injection很少遇见,这次被我逮住了.我看zone中(http://zone.wooyun.org/content/13323)还有一些同学对于这个漏洞不甚了解,甚至分不清它与CSRF ...