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

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. mac设计师系列 Adobe “全家桶” 15款设计软件 值得收藏!

    文章素材来源:风云社区.简书 文章收录于:风云社区 www.scoee.com,提供1700多款mac软件下载 Adobe Creative Cloud 全线产品均可开放下载(简称Adobe CC 全 ...

  2. Shiro中session超时页面跳转的处理

    问题描述 shiro在管理session后,在session超时会进行跳转,这里有两种情况需要考虑,一种是ajax方式的请求超时,一种页面跳转请求的超时. 本文从这两个方面分别考虑并处理. ajax请 ...

  3. nginx变量(日志log_format)

    nginx变量(日志log_format) HTTP请求变量 - arg_PARAMETER.http_HEADER.sent_http_HEADER 它是指http请求中的变量,举例: curl访问 ...

  4. urllib 学习一

    说明:Urllib 是一个python用于操作URL的模块   python2.x    ----> Urillib/Urllib2 python3.x    ----> Urllib  ...

  5. Hadoop问题:java.net.SocketException: Network is unreachable

    问题描述:Failed on local exception: java.net.SocketException: Network is unreachable; Host Details : loc ...

  6. MyBatis-DynamicSQL 动态SQL

    MyBatis 的动态 SQL 使用 OGNL 表达式 http://commons.apache.org/proper/commons-ognl/language-guide.html 在 XML ...

  7. 微信小程序遇到的知识点

    话不多说,都是干货!!! 页面的生命周期: 当打开一个页面的时候,会触发onLoad和onReady和onShow事件. onLoad和onReady只触发一次.除非卸载了页面就是触发了onUnloa ...

  8. multiprocessing.Manager共享内存的问题记录

    问题:https://stackoverflow.com/questions/8640367/python-manager-dict-in-multiprocessing 使用 multiproces ...

  9. C JAVA你可能不知道的那些编程细节

    关于printf的格式化字符 %* *与其它占位符结合使用, *将首先被一个 int 变量值代替后再被格式化. 如 printf("%.*s.", 2, "Hello&q ...

  10. nginx接入let's encrypt

    按以下步骤: 一.放开443端口 我的是云服务器,默认没开放443端口,需要先在控制台放开 二.使用let’s encrypt 生成证书 执行以下命令: git clone https://githu ...