摘要: 快读快写的原理就是利用getchar()和putchar()巨快的特点进行读入,cin、cout就不说了,听说它比scanf还快,很厉害的。 正常版的话就是利用getchar()读入,对读到的数字处理: 1 #include<string> 2 #include<cstring> 3 #includ 阅读全文
posted @ 2018-05-21 13:41 zzuqy 阅读(673) 评论(0) 推荐(0) 编辑
摘要: 将它作为我的树的练习题来做的,根本没有想其他的什么方法。 先去看书上的模板,竟然用到了指针啊?干脆的什么都看不懂。于是就苦苦回忆寒假学的东西,经历了无数苦难波折后写下了一个非常非常对的代码(在自己的电脑上运行答案都对): int end=27; int i,f,ans=0,boyt,now; str 阅读全文
posted @ 2018-05-20 13:42 zzuqy 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 这是一道高考题哦。 由于它对于所有的满足条件的三位数都这样弄,还是一个填空题,总不能把自己当做电脑硬算,那就不得不考虑一下数学黑洞了,也就是最后的答案与a无关且只有一个。 那么设这个数每一位上的数有x>y>z>0,那D(a)=100*x+10*y+z,I(a)=100*z+10*y+x,易得D(a) 阅读全文
posted @ 2018-05-17 18:03 zzuqy 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 表面上是5-15,然而是昨天下午写的。 第一题,t*(L-R)是会超时的,怎么优化啊?先往下看看再说。题目涉及到了1-100000的六进制、九进制,估计打表是不可能了,那就在程序内把六进制、九进制的一的个数统计一波,然后发现还是很快的。然后又理解了一遍题意,就想到了可以用前缀和来弄。拿到了100分。 阅读全文
posted @ 2018-05-17 13:18 zzuqy 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 先输入每个牛的编号,然后思考什么时候会有两个编号模k后会是同一个数? 那就是这两个数的差刚好为k的倍数。 那这题就能做了,求出所有编号之间的差,这些数的因子都不能做k了。最后跑一遍bool数组,只要为0就能用。 using namespace std; int i,f,o[5000],n; bool 阅读全文
posted @ 2018-05-13 15:26 zzuqy 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 好难啊…… 第一题根据题意和数据范围,应该是纯模拟没得说,好像有一点点贪心的意思。维护一个sum5和sum10,反正sum20是用不到的。 int i,n,t; int sum5,sum10; int main() { ios::sync_with_stdio(false); freopen("bo 阅读全文
posted @ 2018-05-13 09:23 zzuqy 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 数论好难啊~~ 嗯这两道题看似题号、数据范围差的很多,其实有一些共通之处。 先来看一下韩信点兵: 作为循环语句和判断语句的入门题,相信看我博客的肯定都会。 #include<iostream> using namespace std; int a,b,c,i; int main() { cin>>a 阅读全文
posted @ 2018-05-10 13:28 zzuqy 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 这道题同样不难,按照题目给的意思模拟就好。然后我刚开始日常用sort排序,然后再模拟,理论上是没问题的,但是就……还是把代码贴出来看看。。。 int i,f,n,t,tem; struct abc { int num; int r; }o[1010]; bool mycmp(abc x,abc y) 阅读全文
posted @ 2018-05-08 17:52 zzuqy 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 昨天同桌为我推荐了p1904这道水题,然后他就写不出来了……本来不想写,但是看他写得很麻烦,为了给他展示我的代码能力就写了一下。 即使类型为“其他”,但还是掩盖不了模拟的事实。那么直接sort Ai,再在前k个牛中找到Bi最高的就行。复杂度为N*logN+k 往上看了一眼,p1903好像也挺简单。 阅读全文
posted @ 2018-05-07 14:04 zzuqy 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 真的是挺简单的,按照要求直接搜。虽然我不知道到底是横行表示工作还是竖列,但是搜起来还是一样的。 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cstring> 5 #include<cmath> 6 阅读全文
posted @ 2018-05-02 12:07 zzuqy 阅读(254) 评论(1) 推荐(0) 编辑
摘要: 本题刚开始想到了可能是递推?ans[i]=所有加数的方案数和?但是应该不行,很有可能包含了其他的方案了。 那么本题要怎样表达出方案数呢?搜索的话估计会炸掉。我们模仿背包的形式,最终的答案ans[n]是ans[n-所有小于n的质数]的和,而那些方案数我们又可以通过相同的方法求出。 递推过去就好。a[] 阅读全文
posted @ 2018-04-29 16:29 zzuqy 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 上来就看到500位数.嗯,高精度无疑了. 然后来想第一问: 通过http://wenku.baidu.com/view/b2ca872014791711cd79170b.html 我得知一个大数的位数是它因子位数的和.虽然和本题有一点不同,但是因数也可以分成p个2.那么位数就成为了int(p*log 阅读全文
posted @ 2018-04-29 16:15 zzuqy 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 并查集 就是不像图论那样关注节点间如何连接,只考虑最最上面的一个节点,从而快速的判断两个节点的关系。 实际实现时维护一个fa[n]数组记录父节点,n为节点数量++,初始化所有父节点都为自己。输入每条边,把两个节点的父节点改为一个。然后就可以在复杂度为1的时间内判断两个节点是否在同一个连通块内。搜索所 阅读全文
posted @ 2018-04-29 13:20 zzuqy 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 突然想起来自己还有个博客要经常写。。 昨天先是把《程序员的数学》看完了,好看是好看,但是编程用得上的很少我还都会。然后开始复习动态规划,翻看学长们的ppt,感觉学到了很多。 做的前几道题都挺简单的,但是P1265就花了我一晚上时间,这里着重讲一波。 刚开始觉得和之前差不多,写了个 然后把a[n][m 阅读全文
posted @ 2018-03-13 07:56 zzuqy 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 2018开始了 接触了贪心后觉得人生可能也是贪心算法吧:总是做出局部或是能考虑到最大范围内的最优解。 反正高中对我来说一切都是新的,很多都要重新认识、学习和掌握,祝我和大家能有新的收获。 2018,请多指教。 阅读全文
posted @ 2018-01-02 13:19 zzuqy 阅读(140) 评论(0) 推荐(0) 编辑