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 ...
随机推荐
- Centos 配置eth0 提示Device does not seem to be present
Centos 配置eth0 提示Device does not seem to be present 参考资料: http://www.cnblogs.com/fbwfbi/archive/2013/ ...
- python对象-多态
调用不同的子类将会产生不同的行为,而无须明确知道这个子类实际上是什么. 比如,在一个可以播放音频文件的程序中,媒体播放器可能需要加载一个AudioFile对象然后play它,我们把一个play()的方 ...
- 常用的一些cmd命令
常用的一些cmd命令总结 ----------- 1.ping主机名字,类似于ping机子的IP地址 2.查看当前用户的dos命令 3.查看机器名 调出计算器命令:calc 调出远程桌面的命令:mst ...
- linux proc
/proc文件系统下的多种文件提供的系统信息不是针对某个特定进程的,而是能够在整个系统范围的上下文中使用.可以使用的文件随系统配置的变化而变化. /proc/cmdline 这个文件给出了内核启动的命 ...
- 3.建造者模式(Builder)
Builder模式的缘起: 假设创建游戏中的一个房屋House设施,该房屋的构建由几部分组成,且各个部分富于变化.如果使用最直观的设计方法,每一个房屋部分的变化,都将导致房屋构建的重新修正... ...
- Linux-CentOS 查看(监控)服务器网卡流量
1.使用系统自带的命令: watch more /proc/net/dev 2. 使用nload命令,需要自行安装 1)# yum install flex byacc libpcap ncurses ...
- Android面试基础(一)IOC(DI)框架(ViewUtils)讲解_反射和自定义注解类
1. Android中的IOC(DI)框架 1.1 ViewUtils简介(xUtils中的四大部分之一) IOC: Inverse of Controller 控制反转. DI: Dependenc ...
- flask 文件转为pdf并添加二维码
背景: 宝安区需求,企业会下载表格,打印后填报.填报后收上表格,统一录入PDA.因为某台PDA只能录某个地方的表格,所以他们希望纸质表上有个二维码,扫描出现填报公司的一些信息,以及统计(好像是这样,没 ...
- django生产环境启动问题
unavailable modifier requested: 0 环境: nginx+uwsgi+django *** Starting uWSGI 2.0.16 (64bit) on [Wed J ...
- CC2541设置中断输入模式
//P0.0 /* SW_6 is at P0.1 */#define HAL_KEY_SW_6_PORT P0#define HAL_KEY_SW_6_BIT BV(0)#define HAL_KE ...