摘要: STL大法好,602ms,速度第4 代码来了,用的是STL库的string和布尔类型flag的搭配 代码有注释 #include <iostream> #include <cstring>//string头文件 using namespace std; int main() { int n; boo 阅读全文
posted @ 2020-10-01 17:17 HappyBobb 阅读(10) 评论(0) 推荐(0)
摘要: 这题是个暴力题目,挺水 代码来了,2重循环,1.06s #include <cstdio> inline int read()//快读 { int x = 0; char ch = getchar(); while(ch >= '0' && ch <= '9') { x = (x << 1) + ( 阅读全文
posted @ 2020-09-30 21:45 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要: 分析题目,其实就是求非0值且不同的数的个数,用的是set,花了5秒多,这…… 先看代码: #include <iostream> #include <set> using namespace std; set <int> st; int main() { int n, x, y = 0; cin > 阅读全文
posted @ 2020-09-30 17:57 HappyBobb 阅读(14) 评论(0) 推荐(0)
摘要: 如果用循环应该会超时,所以这里用数论比较好 先分析题意得知,可以加上去,也可以减下来 减下来是 n mod m (n % m) 往上加是 m - n mod m (m - n % m) 为什么呢? n % m的结果就是多出的,减掉整除 m - n % m的结果就是少的,加起来也可以整除 代码: #i 阅读全文
posted @ 2020-09-30 17:18 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要: 这题其实不需要真得按照题意模拟,经过研究,其实我们发现,如果两个数之间绝对值大于等于2,就不行,否则可以 代码,不用数组: #include <iostream> #include <cmath> using namespace std; int main() { int n, a, b; cin 阅读全文
posted @ 2020-09-29 21:48 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要: 仔细观察,其实这个价格是可以抵消的 看: 价格 = (x1 - x2) + (x2 - x3) + (x3 - x4) + (x(n - 1) - xn) 所以会发现,x2和x2抵消,x3和x3抵消……其实最后就是x1 - xn 所以具体代码如下,用的是STL的vector,一会会讲到vector的 阅读全文
posted @ 2020-09-28 18:47 HappyBobb 阅读(9) 评论(0) 推荐(0)
摘要: 这道题和数论似乎有些关系,但我怎么想也想不出公式(我才小学5年级),于是只好循环了。 先说说为啥两层循环: 首先在同时尖叫时候,第一个人尖叫的可能第a次,第二个人可能是跟a差很多的,所以需要两层循环。本题限时1.00s,电脑一秒算一亿次,所以两次循环均要小于sqrt(100000000),循环次数是 阅读全文
posted @ 2020-09-28 18:01 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要: 这道题和数论似乎有些关系,但我怎么想也想不出公式(我才小学5年级),于是只好模拟了,两层循环,代码如下,707ms: #include <iostream> using namespace std; int main() { int a, b, c, d; cin >> a >> b >> c >> 阅读全文
posted @ 2020-09-28 17:01 HappyBobb 阅读(7) 评论(0) 推荐(0)
摘要: 这个题可以枚举,但是会严重超时,所以我们分析一下 如果每次四个数加起来除不了3,也就是不可能满足a + A = b + B = c + C,满足这个条件只有可能分三份 第二,就算可以分三份,如果a或者b或者c > 四个数之和除3,也不行,所以代码来了: #include <iostream> usi 阅读全文
posted @ 2020-09-27 20:35 HappyBobb 阅读(15) 评论(0) 推荐(0)
摘要: 2021.1.2 Update:更好的排版与推广博客 博客:https://www.luogu.com.cn/blog/332914/ 这个题目通常有两种解法,打表和map,打表要写很多 if,而 map 其实也是这样。 先要注意一点: 碰到一千和一百万是乘而不是加,例如 one hundred 不 阅读全文
posted @ 2020-09-27 18:45 HappyBobb 阅读(14) 评论(0) 推荐(0)