初赛笔记
https://www.cnblogs.com/dengfull/p/11689991.html
1.双向链表插入删除:最后被修改next的指针不能是临时的,必须是我要修改的
2.反码:【负数】符号1,其余反
补码:反+1
负:补反(包括符号)+1
3[cd ..]退出
4.链表优点:方便插入删除
5.排序
堆排序是不稳定的。
【1】构造大根堆(升序排序,从上到下小,每次最大移动末尾元素)【2】n次移动。
需要交换,交换次数由原序列本来相对大小决定,不稳定。
选择排序不稳定
【每次把x位置和mx位置交换,会改变相同元素的位置关系】
快速不稳定,希尔不稳定,其他都稳定
【复杂度分析】https://www.cnblogs.com/Rainy7/p/csp-s-2021-first.html
6.acos(x)
是cos值是x的弧度是多少,cos(x)
是x(弧度)的cos值是多少,就是函数
7.对于时间复杂度
函数
(1)T(n)=T(n-1)+T(n-2)
时间复杂度是\(O(2^n)\),可以理解成最长的一条链长度是\(2^n\)
(2)T(n)=2*T(n/2)
时间\(O(n)\),可以代入整2次方数,发现满足,其他就近似
其他
(1)一张n点m边的无向图遍历的时间复杂度:O(n+m),因为对于边的枚举也要算在内。
(2)没有堆优化的dij的O(n^2),因为一个点最多被拿出来一次,每次拿出来都需要n的时间来找min或者max,不用考虑其他的,不然就算重复了。
(3)spfa\(O(n*K)\)
(4)dfs(l,r)-->dfs(l,mid),dfs(mid+1,r)\(O(nlogn)\)
dfs(l,r)-->dfds(l,mid)\(O(n)\)
7.ascall码:48(0),65(A),97
8.运算符优先级:
(1)+-,++,--,!
自己算自己
(2)* / + = %
(3)<< >>
改变变量的值
(4)>=,<=,!=,==
(5)& | ^
(6)&& ||
判断类型
(7)+=,-=,*=,/=
(8)>>=,<<=
赋值运算
9.栈底:按照a b c d e入栈顺序,a是底,e是顶部,就是top++,你想在前头的都是顶部呗
10.树
霍夫曼树:合并果子,计算树上叶子节点路径和min。应用:霍夫曼编码,使得出现频率最多的字符获得最小二进制编码。实现:贪心,每次选择根节点权值最小的2节点合并,就是最优解。
11.后缀表达式:
(1)中缀转后缀:把所有运算按照优先级都加上括号,然后把运算符移动到包着他的最外面一层括号外面的右边,最后去掉括号
【遇到字母直接输出,遇到运算符入栈,"(">"* /">"+-",遇到")"弹到"("为止,栈中必须严格升序。】
转化回去:如果遇到非操作符,入栈,操作符,取出栈顶2个变成“a op b”入栈。
(2)中缀转前缀:把所有运算按照优先级都加上括号,然后把运算符移动到包着他的最外面一层括号外面的左边,最后去掉括号
转换回去:前缀从右到左扫描,其他都一样然后最后的表达式好像是反的,但是结果是对的。
12
克劳德·艾尔伍德·香农(Claude Elwood Shannon,1916年4月30日—2001年2月24日)是美国数学家、信息论的创始人
香农提出了信息熵的概念,为信息论和数字通信奠定了基础。
为纪念克劳德·艾尔伍德·香农而设置的香农奖是通信理论领域最高奖,也被称为“信息领域的诺贝尔奖”
task:2020最后一道题,怎么搞,看起来相当玄学的数位DP