- 博客(18)
- 收藏
- 关注
原创 扩展欧几里德算法 Extend_Euclid
扩展欧几里德算法(extend_Euclid)我们现在面对的是一个形如ax+by=c的方程,对于这样的方程该怎么求解呢? 对于ax+by=gcd(a,b)这样的方程的求解就可以使用扩展欧几里德算法。 很显然我们可以得出ax+by=gcd(b,a Mod b)这样的话我们就可以将x与y带入到方程中,根据方程的函数性与函数的方程性得出by+aModb*x=gcd(b,aModb)的解,然后因为aMo
2017-12-29 14:09:59
576
原创 NOIP2014 Day2 模拟赛赛后总结&题解
考试时的心态: 还能有什么心态,考炸了嘛。题解第一题:无线电通讯: 水题,直接模拟,就不多说了。第二题:图论水题: 其实也挺水的,只要倒着来广搜一遍,把能到达的边标记一下就可以了。接下来从起点出发BFS一遍就可以了,但是我考试的时候没有想那么多,忘了判重了,直接进入死循,由于是有向图,导致测试数据中没有出现环,让我非常自信地认为自己对了。结果……TLE10分。该拿的分没拿过来,浑身难受。其实只
2017-10-28 09:18:36
549
原创 NOIP2011提高组 DAY2 题解&总结
考试时的心态: 这次离线赛考的是NOIP2011,考得比较差,其实试卷比较水,水出新高度了。但是就考了160分,还是因为大意了,说实话,我一直在想第二题那个Sigma 是怎么计算的,很虚。虽然最后证明我的想法是正确的,但是由于这道题花的时间太少了,导致我WA了。就30分…… 第三题玄学贪心水了30分,还是比较好的,就是第二题可惜了。题解:第一题:计算系数 这道题是道水题,纯属送分,
2017-10-18 15:49:43
857
原创 dfs玄学剪枝法集锦
题解:第一题:邮票面值设计问题 这道题是一道比较经典的题目,在NOIP初赛(伤心)试卷上也出现过。由于这道题没有什么比较强的剪枝,因此就不介绍了,主要思路就是枚举最大值+完全背包问题。第二题:木棒 这道题我一开始是直接上爆搜的,由于只有两组测试数据,因此一分没有。但是基本的思路框架是搭起来了。就是枚举最大值,再爆搜,看是否满足,若满足就直接输出。 于是我借鉴了一下zhowie大佬的代码,我
2017-10-18 14:57:46
1065
原创 初赛日志
Day1 今天考完了,炸穿了,关键是有很多分没有拿,那个开关灯的问题估计全机房就我一个人没写出来,有点悬。还有就是两道程序阅读,全都看错了。没想到会沦落到吃奖励名额的地步。其他题目都还好,就是这几道题,伤得要死,还是小C那句话管用,程序阅读与问题求解要花全部精力去弄,瑞姐即使选择题错了12道,还是考得很高,就是因为他后面全都对了。还有就是我斯特林数只记了递推公式,没有记直接求的公式,导致又丢了
2017-10-14 21:33:18
283
原创 新的排序算法——ShimaKaZe Sort
p.s:本算法纯属娱乐,无任何实用价值 ShimaKaZe Sort (岛风排序): 这个排序算法是我突发奇想的,实现起来也非常简单,就是全排一遍,然后,判断一下,复杂度啊,就是O(n!*n),在已经有序的情况下可以达到O(n)。(手动滑稽)不知前人是否有人写过。 代码:#include<iostream>#include<algorithm>using namespace s
2017-10-13 19:00:43
526
2
原创 20171010离线赛总结
题解:第一题:字符连通块 这道题还是比较好想的,首先把每个连通块标记出来,并用第一次扫到的点标记为这个连通块的父节点,接下来要做的就是把一个‘*’周围的连通块连通起来。不过要注意一点,在连通标记的时候不要用memset,memset的复杂度是m/8(m是数组大小),会很慢,直接循环标记就好了。#include<iostream>#include<cstdio>#include<cstring>
2017-10-11 16:50:10
266
原创 20171009离线赛总结
考试时的思路: 第一题 直接枚举 正着循环,倒着循环,求出每个点对应的L和R 第二题 20:32 2017/10/9 看了半天,把所有可能的区间预处理出来,dfs。 第三题 30分的话,用二进制枚举,看一条边取还是不取。 可以先把链的写了,输入的u到v的路径就变成了一个区间,这样的话,问题就简化为区间调度问题。 按照终点排序,然后贪心。题解:第一题:双击 这道题还是相当水的,只
2017-10-10 15:09:36
249
原创 NOIP初赛模拟赛总结
错误题号:选择题:1,2,10,11,12,19问题求解:全对程序阅读:2程序完善:2.1,2.4题解:选择题: 第一题:主要是集合差的运算我不会,差:以属于A而不属于B的元素为元素的集合称为A与B的差(集) 第二题:这题我算都没算,主要就是容斥原理与排列组合,先算出至少有一个abc的情况,即“abc”和2个a,4个b,1个c的排列,8!/(2!*4!),在保证有一个”abc”时,可能还会有另
2017-10-09 14:44:22
450
原创 离线赛20171008总结
考试时的状态 这次考试总的来说考得很糟,前面三个小时基本都在梦游,不知道自己在该干什么。看了半天题目,连最基本的排序都没想起来,用计数算了半天,却被重复运算搞懵了,这些特殊情况都不该出现的。基本上分数都是最后半小时拿来的,自然也不会考得很高了。题解第一题: 这道题关键考察的就是排列组合,这里有一个很重要的结论,那就是c[i][j]=c[i-1][j]+c[i-1][j-1]。这个结论的推导也是比
2017-10-08 19:25:20
295
原创 20171007离线赛总结
考试时的思路:第一题先循环水一个80分出来 第二题先水70分,再用倍增枚举每一个坦克对应的下一个坦克。 第三题直接上DFS,能拿多少拿多少。题解:第一题 S数 这道题,我打了个表,然后用二分法来做,记录每个答案的位置,即可得解。但是最后时间不够了,我发现lower_bound用错了的时候只剩下4分钟了,匆忙修改,但还是没对,不过好在暴力分拿到了,看来先打暴力这个方法肯定没错。
2017-10-07 16:12:49
281
1
原创 20171006离线赛总结
考试时的思维cstdio 文件名 输出调试 内存 第一题 递推 拿完80分就跑 第二题 先按背包打 拿完60分就跑 看一看能不能排序贪心 每一次选择性价比最高的,然后当v==m-1并且花费为2时特殊判,有两种方案,要么从后面选一个花费 为1的,要么弹出一个花费为1的,把当前的插入进去,答案就在这两者中,正确性显然。 第三题 三十分还是比较好拿的,爆搜 其次,可以枚举起点直接
2017-10-06 17:03:07
327
原创 NOIP2007 初赛赛后总结
错误题号选择题:2,5,9,12,13,20第二题 这道题完全是道常识题。然而……我不知道……答案是E,二维表。第五题 这道题的关键是^的优先级高于|,因此先计算^。运算符优先级第九题 这道题是一道图论题,对于D有如下反例,这题我完全靠懵 第十二题 漏了一个选项,还是不够细心第十三题 算错了ORZ!!!都是不该失的分。第二十题 玄学常识题问题求解 全错……全错……全错……
2017-10-05 21:49:15
714
原创 20171005写题心得
听说你想看题?1.集合 关于这道题,第一个想到的就是枚举两个数,然后把符合条件的点并到一个集合中去。然而,这算法太low了,不屑一顾(手动滑稽)。真正的解法 其实只要在使用埃氏筛法的同时,把两个数并在一起就可以了。这样的话复杂度就是并查集复杂度*n代码#include<iostream>#include<vector>#include<cstring>#define M 100086#d
2017-10-05 21:07:30
322
原创 初赛问题求解选集
zhowie大佬传送门YZK大佬传送门社会瑞姐传送门NOIP2005第一题答案:5。 解析:选择排序的原理。对于按顺序扫描的i,每次在i的后面选择一个最小的和i交换。 这5次分别交换( 32,25 ),( 74,28 ),( 43,53 ),( 58,47 ),( 47,86 )第二题答案:11011. 解析:当此时有x根火柴,当且仅当x%3==0时,x是必败的。 反之,如果x%3=a(
2017-10-05 11:26:07
857
原创 NOIP2014 DAY1 模拟赛赛后总结
T1 生活大爆炸版石头剪刀布 大水题,不解释,打表强过代码#include<iostream>#include<cstdio>#define FOR(i,a,b) for(int i=(a),i##_end_=(b);i<=i##_end_;++i)#define DOR(i,a,b) for(int i=(a),i##_end_=(b);i>=i##_end_;--i)#define M
2017-10-05 09:41:38
376
原创 排序算法
C++排序算法1.选择排序(Selection Sort) 选择排序是我接触的第一个排序算法,时间复杂度为O(n²),是一个不稳定的排序#include<iostream>#include<cstdio>#define M 20050#define FOR(i,a,b) for(int i=(a),i##_end_=(b);i<=i##_end_;++i)#define DOR(i,a,b
2017-10-04 22:10:06
286
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人