A.Calandar

题意:一年12个月,一个月30天,5天一周,已知某天的年月日星期数,求所给年月日的星期数是多少

思路:直接进行计算,其实每个月每年都是等长度的就使得计算的时候忽略年月,可以直接进行日期的比较,因为每个月都有长度相等的六周

代码:

 1 #include<bits/stdc++.h>
2 using namespace std;
3 string day[6]={"Friday","Monday","Tuesday","Wednesday","Thursday","Friday"};
4
5 int main(){
6 int t;
7 scanf("%d",&t);
8 while(t--){
9 long long int year1,month1,day1,year2,month2,day2;
10 string s1,s2;
11 cin>>year1>>month1>>day1>>s1;
12 scanf("%lld %lld %lld",&year2,&month2,&day2);
13 int num=0;
14 for(int i=0;i<5;i++){
15 if(s1==day[i]){
16 num=i;
17
18 break;
19 }
20 }
21 if(day1<=day2){
22 num=(num+(day2-day1)%5)%5;
23 }else{
24 num=(num+5-(day1-day2)%5)%5;
25 }
26 cout<<day[num]<<endl;
27 }
28 }

C.Wandering Robot

题意:机器人通过'U','D','L','R'进行移动,分别进行上下左右的移动,从坐标(0,0)开始,问在经过k次移动之后,所能达到的最大的距离,距离指|x1-x2|+|y1-y2|

当时想错的地方:1.进行距离最远的判定时,考虑左右的伸缩变换,比如说最后位置落在右上方,而且最远距离要高于最后位置,这样就肯定有向左或者向下的伸缩,计算如果没有这样的伸缩结果是什么,再加上伸缩了多少次,进行加减运算(((可是这样进行计算,在运动复杂的情况下,不一定是满足这样的情况,可能有复杂的圆周运动也 不是这样的,这样计算就会有误差,所以进行计算的时候应该进行计算n-1次最后的位置在哪,然后用最后一次的位置进行循环找到最后一次的位置最高在哪)))

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstring>
5 using namespace std;
6 const int maxx=2e6+2;
7 string c;
8 int main(){
9 int t;
10 scanf("%d",&t);
11 while(t--){
12 long long n,k;
13 cin>>n>>k>>c;
14 long long x = 0,y = 0;
15 long long int sum=0;
16 for(int i=0;i<c.length();i++){
17 if(c[i]=='R'){
18
19 x++;
20 }
21 if(c[i]=='L'){
22 x--;
23
24 }
25 if(c[i]=='U'){
26 y++;
27
28 }
29 if(c[i]=='D'){
30 y--;
31
32 }
33 if(sum<((abs(x)+abs(y))))
34 {
35 sum = abs(x)+abs(y);
36 }
37 }
38 x*=(k-1);
39 y*=(k-1);
40
41 for(int i = 0;i < c.length();i++)
42 {
43 if(c[i]=='R'){
44
45 x++;
46 }
47 if(c[i]=='L'){
48 x--;
49
50 }
51 if(c[i]=='U'){
52 y++;
53
54 }
55 if(c[i]=='D'){
56 y--;
57 }
58 if(sum<(abs(x)+abs(y)))
59 {
60 sum = abs(x)+abs(y);
61 }
62 }
63 printf("%lld\n",sum);
64
65 }
66 }

D.Game on a Graph

题意:有k个人分成了两组,n个点,m条边,每次一个人选择一条边进行消除,直到某个人使得一个点无法连接其他的边,也就是说使得没有边和这个点链接,这样的话这个人就是输了

当时想错的地方:1.其实当初想的时候就是考虑是不是图论的问题,后来觉得限制条件太多了(((其实本不该想这么多的,大家都是为了规避那种点,肯定会选择除了必须的几条线之外的线,只需要判断如果把多余的线选完了,那么下一个人是哪个组的就好了)))

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cmath>
4 #include<cstring>
5 using namespace std;
6
7 int main(){
8 int t;
9 cin>>t;
10 string s;
11 int n,k,a,b,m;
12
13 while(t--)
14 {
15 cin>>k>>s>>n>>m;
16 int time = (m-n+1)%k;
17 for(int i = 0;i < m;i++)
18 {
19 cin>>a>>b;
20 }
21 if(s[time]=='1')
22 cout<<2<<endl;
23 else cout<<1<<endl;
24 }
25 }

总结:1.这次做题总是把问题给复杂化,要记得化繁为简,抽象出里面的内涵东西,其实这也很难,最好是保证好最初的状态,精神状态要在,就赢了一半了,剩下的就靠平时的多练习才行,还没看清题目,千万不要往难题的方向想,不然肯定会复杂化某个题,就会化简为繁了

QFNU-ACM 2019.5.23组队赛 2019山东省赛复现的更多相关文章

  1. Beta冲刺(2/7)——2019.5.23

    所属课程 软件工程1916|W(福州大学) 作业要求 Beta冲刺(2/7)--2019.5.23 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万里 ...

  2. HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)

    HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...

  3. Triangle (第8届山东省赛的某题)

    triangle(第8届山东省赛的某题) 传送门 题意:喵了个呜,这题意真是峰回路转啊.懒死了,不想描述. 做法:我们拿set或线段树维护exp的最小值,每次取出exp值最小的边,删除之.并更新这条边 ...

  4. 2013年山东省赛F题 Mountain Subsequences

    2013年山东省赛F题 Mountain Subsequences先说n^2做法,从第1个,(假设当前是第i个)到第i-1个位置上哪些比第i位的小,那也就意味着a[i]可以接在它后面,f1[i]表示从 ...

  5. HEX SDUT 3896 17年山东省赛D题

    HEX SDUT 3896 17年山东省赛D题这个题是从矩形的左下角走到右上角的方案数的变形题,看来我对以前做过的题理解还不是太深,或者是忘了.对于这种题目,直接分析它的性质就完事了.从(1,1)走到 ...

  6. 2018山东省赛sequence

    2018山东省赛sequence因为必须要删除一个数,所以可以计算每个数删除的代价,从而选取代价最小的进行删除如果一个数大于它前面的所有数的最小值而小于次小值,删除最小值的代价就要+1:如果一个数本身 ...

  7. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it

    链接:https://www.nowcoder.com/acm/contest/163/F 来源:牛客网 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it 时间限制:C ...

  8. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线)

    2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线) 链接:https://ac.nowcoder.com/acm/contest/163/F来源:牛客网 时间 ...

  9. 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP)

    2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 J Beautiful Numbers (数位DP) 链接:https://ac.nowcoder.com/acm/contest/163/ ...

随机推荐

  1. CSS垂直布局

    1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...

  2. JVM笔记 -- 来,教你类加载子系统

    类加载子系统 类文件首先需要经过类加载子系统,进行加载,进类信息等加载到运行时数据区,生成Klass的实例. 在类加载子系统中有以下3个阶段操作(广义上的加载): 加载阶段 Bootstrap Cla ...

  3. P1047_校门外的树(JAVA语言)

    题目描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米. 我们可以把马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置: 数轴上的每个整数点,即0,1,2,-,L都种 ...

  4. TypeError: 'str' object does not support item assignment Python常见错误

    1.string是一种不可变的数据类型 2.尝试使用 range()创建整数列 有时你想要得到一个有序的整数列表,所以 range() 看上去是生成此列表的不错方式. 需要记住 range() 返回的 ...

  5. css盒模型以及如何计算盒子的宽度

    css盒模型以及如何计算盒子的宽度 盒模型 每个存在于可访问性树中的元素都会被浏览器绘制成一个盒子[1]. 每个盒子都可以看成由4部分组成,它们分别是 - 元素外边距(margin).元素边框(bor ...

  6. Java后端进阶-消息中间件

    1.分布式事务 MQ分布式消息中间件实战应用 通过控制台就可以定义 二.分布式消息中间件 解决耦合的问题 http内容很繁琐,而且是短连接响应后就会中断 持久化 消息分发 高可用 高可靠

  7. Java刷题-list

    一.打印两个有序链表的公共部分 补充一个关于节点的链表构造方法 Node next是设置指针域 import java.io.IOException;这个是报错信息 这是两个lO流 import ja ...

  8. HMS Toolkit助力开发者高效集成HMS Core

    当你的应用想集成华为HMS Core服务和上线华为应用市场,或当你已经开发了一个Android应用并集成了第三方移动服务,需要迁移使用HMS Core服务和上线华为应用市场的时候,如何快速.便捷.高效 ...

  9. 学习WEB前端是应该自学还是参加培训机构?

    先说观点,我强烈建议每个人都要自学,不要参加培训班. 我干web前端工程师这个职位已经有6年多的时间,之前在蚂蚁金服做过2年,后来离开是因为加班实在熬不住才走的,像这些已经上市的互联网公司几乎没有不加 ...

  10. 在 Y 分钟内学会 Python

    在 Y 分钟内学会 Python 这是翻译, 原文地址: Learn Python in Y Minutes 在 90 年代初, Python 由 Guido van Rossum 创造, 现在, 它 ...