- 博客(6)
- 资源 (4)
- 问答 (3)
- 收藏
- 关注
原创 C++树状数组详解
引入如果给你n个数,然后进行q次询问,每次询问一个区间[x,y]的和,你会怎么做? 第一种方法:最简单的方法,用数组存起来,每次枚举x-y,ans加起来就可以,时间复杂度O(qn),十分慢。 第二种方法:或许大多数人会使用前缀和数组:sum[i]=a[1]+a[2]+…+a[i],所以求[x,y]只需要输出sum[y]-sum[x-1]即可,时间复杂度O(n),这是最快的方法之一了。
2017-04-28 13:32:53 11858
原创 C++重载运算符详解
结构体基础结构体,是一种可以自己编写数据类型(如int,double等)的一种数据集合,声明关键字struct,框架(声明于main之外):struct 名称{ 集合之中的变量};//分号一定不要忘了例如:struct student{ char name[10]; int grade,num,age;
2017-04-25 17:45:59 9017 2
原创 【NOI2001】聪明的打字员
阿兰是某机密部门的打字员,她现在接到一个任务:需要在一天之内输入几百个长度固定为6的密码。当然,她希望输入的过程中敲击键盘的总次数越少越好。 不幸的是,出于保密的需要,该部门用于输入密码的键盘是特殊设计的,键盘上没有数字键,而只有以下六个键:Swap0, Swap1, Up, Down, Left, Right
2017-04-18 13:09:10 961
原创 多叉树(森林)转二叉树
本来不怎么想写这个,但发现网上的都是“残疾”博客,讲得不是很详细,所以我还是要写一下。 多叉转二叉有“左儿子右兄弟”的说法,然而对于什么都不知道的小白,这句话没有任何用……思路大体就两步,很好理解,如图是用来举栗的多叉树: 兄弟连将所有的兄弟间连一条线,如图: 右子断将所有右儿子与父亲的边删掉,如图: 其他事实上这已经是一棵二叉树了,还有一点小细节。调整层次 很容易发现,“兄弟”(即黄色线
2017-04-10 14:11:37 10462 6
原创 读入优化&输出优化
注意了注意了注意了,重要的事情说3遍,这个东西是骗分神器,骗分神器,骗分神器!!! 众所周知:scanf比cin快得多,printf比cout快得多,如果你不知道就……就现在知道了 那有没有更快的呢?当然。 我懵逼了,至于慢近100ms吗? 好吧,这就是读入优化的效果,在数据很恐怖的情况下能比scanf多过1-5个点……
2017-04-08 18:42:22 15433 2
原创 【NOI OJ】1816 拨钟问题
1816:拨钟问题总时间限制: 1000ms 内存限制: 65536kB有9个时钟,排成一个3*3的矩阵。|-------| |-------| |-------|| | | | | | ||---O | |---O | | O || |
2017-04-04 15:57:58 1017
C++编写打飞机游戏
2019-10-28
《父与子的编程之旅》Python安装包+源代码
2018-08-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人