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

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. c3p0配置Spring

    jdbc.properties jdbcUrl=jdbc:mysql://localhost:3306/myoa?useUnicode=true&characterEncoding=utf-8 ...

  2. 【知名的3D造型设计软件】犀牛 Rhinoceros 5.5.2 for Mac

    [简介] 今天和大家分享最新的3D设计软件 犀牛 Rhinoceros for Mac 5.5.2 版本,支持中文界面,这是一款Mac上知名的3D造型软件,犀牛可以广泛地应用于三维动画制作.工业制造. ...

  3. 【MSSQL】SqlServer中delete语句表别名的问题

    1.一般情况下删除表数据的sql语句: delete from products 2.如果想给表起个别名再删除呢,就得像下面这样写了 delete products from products as ...

  4. hibernate注解方式来处理映射关系

    在hibernate中,通常配置对象关系映射关系有两种,一种是基于xml的方式,另一种是基于annotation的注解方式,熟话说,萝卜青菜,可有所爱,每个人都有自己喜欢的配置方式,我在试了这两种方式 ...

  5. [JDK8] Lambda

    本文转载原文http://www.cnblogs.com/jalja/p/7655170.html 一.使用线程 public static void main(String[] args) { // ...

  6. 免费开源.net的pdf操作控件PdfiumViewer

    最终我找到了pdffiumViewer.开源免费的.net组件. 亲测,可以按第一个下载地址,改写开发.如果对源码感兴趣,可以上GitHub网站 效果图:  1.源代码下载地址: https://do ...

  7. sql递归查询 根据Id查所有子结点

    Declare @Id Int Set @Id = 0; ---在此修改父节点 With RootNodeCTE(D_ID,D_FatherID,D_Name,lv) As ( Select D_ID ...

  8. Golang入门教程(三)beego 框架安装

    beego 是一个快速开发 Go 应用的 HTTP 框架,他可以用来快速开发 API.Web 及后端服务等各种应用,是一个 RESTful 的框架,主要设计灵感来源于 tornado.sinatra ...

  9. 未启用当前数据库的 SQL Server Service Broker,因此查询通知不受支持。如果希望使用通知,请为此数据库启用 Service Broker

    昨晚遇到的这个问题,也知道Notifications service依赖底层的Service broker的.本以为只需要执行以下脚本对数据库启用Service broker即可. alter dat ...

  10. SpringBoot系列: Java应用程序传参和SpringBoot参数文件

    ===========================向java 程序传参的几种形式:===========================1. 使用 OS 环境变量. 这个不推荐. 2. 使用JVM ...