ACM队内备赛
算法_付金瑜
这个作者很懒,什么都没留下…
展开
-
第十二届蓝桥杯软件类省赛C++B组第一场 编程题
F 时间显示题目信息题目描述 小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970 年 1 月 1 日 00:00:00 到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。————————————————这道题其他没什么注意 1 s=1000 ms对应的 1 米 = 10 分米 = 100 厘原创 2021-05-08 22:15:21 · 991 阅读 · 0 评论 -
第19届上海大学程序设计联赛春季赛B. Lin88‘s Palindrome
链接: link.可以使程序优化,减少程序时间复杂度的方法有很多,对于每道题都可能有独到的方法,对于这道题,可以用成对的不合法的字符数量来表示当前字符串是否合法,就避免了每次改变一个字符都需要遍历整个字符串,大大降低了时间复杂度当成对的不合法的字符数量==0时,字符串当前合法;否则,当前字符串不合法;所以在改变字符前先提前统计好成对的不合法的字符数量res,然后每一次修改一个字符时,只需要考虑res变化后的结果还有一个易错点是:当修改的字符所对应的字符是自己时,他修改后res数量不会变化#inc原创 2021-05-07 18:34:14 · 152 阅读 · 0 评论 -
Noobs Round #2 (Div. 4) by Rudro25 C. Team(双指针+贪心)
链接: link.贪心我们一般会想到排序,不过这道题还得用上双指针才能过,双指针能大大减少时间复杂度将n个数从小到大排序后,右指针向左遍历,如果指到的数大于等于k,就能一个人组成一个team ,否则的话,左指针向右走,如果当前a[r]+a[l]<k 的话,右指针不动,左指针继续向右走,那些左指针已经走过的数,左指针左边的数,不包括左指针当前指的数,没用过的就已经没有用的价值了#include<bits/stdc++.h>using namespace std;typedef l原创 2021-05-07 17:56:11 · 192 阅读 · 0 评论 -
2015-2016 ACM-ICPC(Div. 2)Problem O — Gri(最短路问题)
链接: Grid.我们都知道最短路问题可以用队列来做,但是当队列中进队,出队的数据类型是结点类型呢,该如何表示,见下面解释struct Node{ int x,y,digit,cnt; Node(int _x,int _y,int _digit,int _cnt){ x=_x;y=_y;digit=_digit;cnt=_cnt; }}; queue<Node> q; q.push(Node(0,0,g[0][0],0));第3,4,5行代码是该类的构造方法,类似于jav原创 2021-05-07 17:38:10 · 130 阅读 · 0 评论 -
I - Increase and Copy(数学+贪心+公式)
链接: link.写这一道题的时候我知道是用公式,但是忽略了高中学的一个数学函数(对勾函数) 给定三个数n,x,y,要求 xy>=n 这时当x=y的时候即x=sqrt(n)时,有几个细节① 若xxn 操作数ans=2x-2;②若xx<n 为了使前面两个数之积大于n, 引入变量t,使t=n/x(或者是n/x+1),这里是当n%x0 ,t=n/x,否则t=n/x+1才能满足条件 操作数ans=x+t-2;第三种情况x*x>n不予考虑,因为与第二种情况原理相同原创 2021-05-02 15:17:37 · 103 阅读 · 0 评论