抱着可能杭电的多校1比牛客的多校1更恐怖的想法 看到三道签到题 幸福的都快哭出来了好吗

1001  Maximum Multiple(hdoj 6298)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=6298

签到题 但是有考了一定的思维 清北大佬两分钟写出来真的让人望尘莫及啊……

题意是给定一个n 可以由三个正整数相加得到 同时这三个正整数又是要被n可以整除 求这三个整数相乘的最大值 如果没有 则输出-1

既然题目没有要求三个正整数不能相等 则可以按照比例分成 3 3 3和2 2 4两堆

代码如下  一开始爆了int 在乘法前强制转换了long long

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
typedef long long ll;
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
ll ans=;
if(n%==) ans=(ll)(n/)*(n/)*(n/);
else if(n%==) ans=(ll)(n/)*(n/)*(n/);
else ans=-;
printf("%lld\n",ans);
}
return ;
}

1003 Triangle Partition (hdoj 6300)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=6300

签到题+1;

题意为要求有n个三角形 并且给3n个点 任意两个三角形不能相交 问应该如何组合这3n个点

因为在坐标中 任意三个点围起来都是三角形 而且题目中也有说明 给出的点任意三个点不在一条直线上 所以排序就好了

代码如下

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
struct node{
int x,y;
int id;
}kk[];
int cmp(node a,node b){
if(a.x==b.x) return a.y<b.y;
else return a.x<b.x;
}
int main(){
int t,n;
scanf("%d",&t);
while(t--){
scanf("%d",&n);
for(int i=;i<=*n;i++){
scanf("%d%d",&kk[i].x,&kk[i].y);
kk[i].id=i;
}
sort(kk+,kk+*n+,cmp);
for(int i=;i<=*n;i++){
printf("%d",kk[i].id);
if(i%==) printf("\n");
else printf(" ");
}
}
return ;
}

1004  Distinct Values (hdoj 6301)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=6301

卡了三个半小时 还是没有做出来orz 一直t了九发 最后让一队帮忙查错 就是全局定义局部定义 清空方面的优化 我都已经想到了却没有上手写 这题没出来我背锅

题意为有一个长度为n的数列 其中有m个区间操作 在每个l到r中间 都严格满足数字不相等 并且满足字典序 最后输出这个数列

队友上手写的 大概讲一下做法 用的是小根堆+莫队思想  开一个空数组赋值 在操作区间外的位置 全部都赋值为1

想到一个优化的点 在对各个区间先按l从小到大再按r从小到大排序后 如果有一个区间是包含在别的区间中 可以直接continue 不需要再赋值

先记录所有边界的最大值为maxn 即可以放入的数字最大不超过maxn  把1到maxn都放入到一个队列中 对第一个区间进行查询 先赋值一遍 并把相应的数字从队列中弹出 再加入一个指针弹来弹去 把没有重叠可以使用的数字都重新放回到队列中 下一个区间可以使用的数字就从队列中按字典序取用

一个小的点 也是这回我的锅:memset的清空范围是数组定义的范围 如果数组非常大 哪怕输入数据很小 但还是会兢兢业业从头到尾清空一遍 遇到数据比较多的情况 可以手写一个for循环进行清空 可以节省不少时间

(队友)代码如下

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <cstring>
#include <queue>
using namespace std;
int T,n,m,a[],topt,maxn;
struct data
{
int l,r;
}q[];
bool cmp(data aa,data bb){if (aa.l==bb.l) return aa.r<bb.r; return aa.l<bb.l;}
priority_queue<int,vector<int>,greater<int> >qq;
int main()
{ scanf("%d",&T);
while (T--)
{
topt=; maxn=;
while (!qq.empty()) qq.pop();
for(int i=;i<=n;i++) a[i]=;
scanf("%d%d",&n,&m);
for (int i=;i<=m;i++) scanf("%d%d",&q[i].l,&q[i].r),maxn=max(maxn,q[i].r);
for (int i=;i<=maxn;i++) qq.push(i);
sort(q+,q+m+,cmp);
for (int i=q[].l;i<=q[].r;i++) a[i]=qq.top(),qq.pop();;
int pl=q[].l,pr=q[].r;
for (int i=;i<=m;i++)
{
if (q[i].r<=pr) continue;
while (pl<q[i].l) {qq.push(a[pl]); pl++;}
while (pr<q[i].r) {pr++; a[pr]=qq.top(); qq.pop();}
}
for (int i=;i<=n;i++) if (a[i]==) a[i]=;
for (int i=;i<n;i++) printf("%d ",a[i]);
printf("%d\n",a[n]);
}
return ;
}

1011 Time Zone  (hdoj 6308)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=6308

签到题+1;

题意为给出当前的北京时间 根据UTC来判断当前时区的时间  如果出现-X.Y的情况 Y=1就是6分钟

模拟题 感觉写起来还是有点麻烦的 稍不留意就写劈叉了  因为是时间类的题目 在边界上面还要有判断

PS:这个UTC是真的无比熟悉啊 打cf的时候天天见

代码如下

#include<iostream>
#include<cstring>
#include<algorithm>
#include<cstdio>
using namespace std;
int main(){
int t;
scanf("%d",&t);
while(t--){
int a,b;
char s[];
scanf("%d%d UTC%s",&a,&b,s);
int len=strlen(s);
int tmp=;
if(s[]=='-'){
if(len==){
tmp=s[]-'';
a-=(tmp+);
if(a>=) a-=;
if(a<) a+=;
}
if(len==){
tmp=(s[]-'')*+(s[]-'');
a-=(tmp+);
if(a>=) a-=;
if(a<) a+=;
}
if(len==){
tmp=s[]-'';
a-=(tmp+);
b-=*(s[]-'');
if(b<) b+=,a--;
if(a>=) a-=;
if(a<) a+=;
}
if(len==){
tmp=(s[]-'')*+(s[]-'');
a-=(tmp+);
b-=*(s[]-'');
if(b<) b+=,a--;
if(a>=) a-=;
if(a<) a+=;
}
}
else if(s[]!='-'){
if(len==){
tmp=s[]-'';
a+=(tmp-);
if(a>=) a-=;
if(a<) a+=;
}
if(len==){
tmp=(s[]-'')*+(s[]-'');
a+=(tmp-);
if(a>=) a-=;
if(a<) a+=;
}
if(len==){
tmp=s[]-'';
a+=(tmp-);
b+=*(s[]-'');
if(b>=) b-=,a++;
if(a>=) a-=;
if(a<) a+=;
}
if(len==){
tmp=(s[]-'')*+(s[]-'');
a+=(tmp-);
b+=*(s[]-'');
if(b>=) b-=,a++;
if(a>=) a-=;
if(a<) a+=;
}
}
printf("%02d:%02d\n",a,b);
}
return ;
}

2018 Multi-University Training Contest 1 杭电多校第一场的更多相关文章

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

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

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

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

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

    躺了几天 终于记得来填坑了 1001 Ascending Rating   (hdoj 6319) 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6319 ...

  4. 杭电多校第一场-M-Code

    题目描述 After returning with honour from ICPC(International Cat Programming Contest) World Finals, Tom ...

  5. 2019杭电多校第一场hdu6581 Vacation

    Vacation 题目传送门 update(O(n)) 看了那个O(n)的方法,感觉自己想的那个O(nlogn)的好傻,awsl. 0车最终通过停车线的时候,状态一定是某个车堵住后面的所有车(这个车也 ...

  6. 2019年杭电多校第一场 1009题String(HDU6586+模拟+单调栈)

    题目链接 传送门 题意 给你一个字符串,要你构造一个长为\(k\)的子串使得每个字母出现的次数在\([L_i,R_i](0\leq i\leq26)\)间且字典序最小. 思路 做这种题目就是要保持思路 ...

  7. 2019年杭电多校第一场 1004题Vacation(HDU6581+数学)

    题目链接 传送门 题意 有\(n+1\)辆车要过红绿灯,告诉你车的长度.与红绿灯的起点(题目假设红绿灯始终为绿).车的最大速度,问你第\(0\)辆车(距离最远)车头到达红绿灯起点的时间是多少(每辆车最 ...

  8. 2019年杭电多校第一场 1002题Operation(HDU6579+线性基)

    题目链接 传送门 题意 初始时有\(n\)个数,现在有\(q\)次操作: 查询\([l,r]\)内选择一些数使得异或和最大: 在末尾加入一个数. 题目强制在线. 思路 对于\(i\)我们记录\([1, ...

  9. [2019杭电多校第一场][hdu6582]Path(最短路&&最小割)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6582 题意:删掉边使得1到n的最短路改变,删掉边的代价为该边的边权.求最小代价. 比赛时一片浆糊,赛后 ...

随机推荐

  1. CodeForces1051F LCA + Floyd

    题意:给定一个10W的无向联通图,和10W的询问,每个询问求任意两点间的距离,限制条件是边数-点数不超过20 一般来说图上任意两点间的距离都会采用Floyd算法直接做,但是这个数据范围显然是不合理的, ...

  2. C函数调用

    目录 C函数调用 设置SP SP分析 区分NAND和NOR启动 参数调用 title: C函数调用 tags: ARM date: 2018-10-14 16:37:10 --- C函数调用 设置SP ...

  3. hibernate HQL查询参数设置

    Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定: Prepa ...

  4. springMVC的全局异常设置

    先说为什么要设置全局异常.比如说,你程序出错了,500错误,大家都知道,程序出错就不会往下面执行,但是客户端那边还是一直等待状态,所以,我们后台无论正常还是报错都要给客户端返回数据.当然,我们可以tr ...

  5. springboot整合mybatis出现的一些问题

    springboot整合mybatis非常非常的简单,简直简单到发指.但是也有一些坑,这里我会详细的指出会遇到什么问题,并且这些配置的作用 整合mybatis,无疑需要mapper文件,实体类,dao ...

  6. jQuery使用(五):DOM操作之插入和删除元素

    插入: insertBofore() before() insertAfter() after() appendTo() append() prependTo() prepen() 删除: remov ...

  7. I/O exception (java.net.SocketException) caught when processing request: Connect

    Exception [一个故障引发的话题] 最近,项目中的短信模块收到一个故障日志,要求我协助调查一下: 2010-05-07 09:22:07,221 [?:?] INFO  httpclient. ...

  8. 2018牛客网暑期ACM多校训练营(第一场)A Monotonic Matrix(LGV)

    题意 分析 考虑01和12的分界线是(n, 0)到(0,m)的两条不相交(可重合)路径分界线以及分界线以上的点是一种,分界线下是一种平移其中一条变成(n-1, -1)到(-1,m-1); 此时起点为{ ...

  9. Information Retrieval 倒排索引 学习笔记

    一,问题描述 在Shakespeare文集(有很多文档Document)中,寻找哪个文档包含了单词“Brutus”和"Caesar",且不包含"Calpurnia&quo ...

  10. XXE攻防总结

    1. 前言与XML格式相同的web漏洞,比较广泛的共有xpath注入.xml注入.soap注入.XXE四种. 2. XML相关的介绍针对xml语言,要明白两个特性:合法性与合理性.所谓合法性,是指语法 ...