- 博客(7)
- 资源 (2)
- 收藏
- 关注
原创 ACM总结——动态规划
动态规划(dynamic programming)简称DP。先看3个简单的问题:1,斐波那契数列1,1,2,3,5,8......求第n项int fac(int n){ if(n<3)return 1; return fac(n-1)+fac(n-2);}时间复杂度O (1.6 ^ n)递归写法(备忘录法):int ans[1000]={0};int fac(int n){ if(n<3)return 1; if(ans
2020-05-29 01:27:48 2692 1
原创 静态告警——函数入参加const
规则:函数内对入参指针指向的地址没有修改的话,入参类型设为const注意点:1,有宏的地方,要点进去看内容2,如果涉及到指针传递,要沿着调用链查看是否有修改指针指向的内容,如果有修改就不能设为const,如果没有修改,则沿着调用链依次加constvoid f1(int *p){ f2(p);}void f2(int *p){ p=0;}像这种情况,f1加了const之后, f2也要加貌似并不是很复杂?在我想了这些之后我就开干了,然而,很快,我就遇.
2020-05-29 00:37:31 1942
原创 重构、编程规范
最近在重构函数,要求圈复杂度不超过7。遇到这么一种代码:if (A && B && C) { do { sth1; }}if (B && C) { do { sth2; }}我改成了if (B && C) { if (A) { do { sth1; } } do {
2020-05-11 19:39:25 1903 1
原创 坐电梯小技巧
1,背景:我住的楼大概有30层,我住3楼,平常是2个电梯,最近坏了一个,所以经常等电梯要很久。2,简单分析:(1)平常坐电梯为什么都很快不考虑电梯运行时间的话,一个电梯有大概50%的概率会停靠在一楼或负一楼,所以有75%的概率会有电梯停靠在一楼或负一楼,所以就很快。(2)只有一个电梯的话有多慢不考虑电梯运行时间的话,一个电梯有大概50%的概率会停靠在一楼或负一楼,还有50%的概率会停靠在2-30楼。不考虑爬楼梯成本加条件概率的话,停靠在2-30楼的概率是均匀的,所以就需要等挺多楼层。考虑电梯运
2020-05-10 23:21:03 2287
原创 结构体大小和对齐值
1,基本变量的大小和对齐值基本变量的大小就不用说了,char 1 int 4 double 8 等等。基本变量的对齐值,就是他的大小。代码: int n; int *p=&n; cout<<p;输出的值一定是4的倍数,因为int变量的对齐值是4,这样做是为了让数据的处理效率更高,因为计算机是一次读取4个字节的。也就是说,基本变量的...
2020-05-07 16:14:09 1831
原创 自我指涉
1,文字型我这句话有两个我字,两个这字,两个句字,两个话字,两个有字,八个两字,十三个个字,十三个字字,两个八字,三个十字,四个三字,两个四字。...
2020-05-06 16:16:09 3664
原创 puzzle(0141)《幻方》
一,幻方的轮胎模型把一个n*n的表格平面,上下相接,左右相接,变成一个轮胎。借用https://www.zhihu.com/question/30498489/answer/49208033的示意图:二,奇数阶幻方的构造法1,loubere构造法2,loubere构造法的推广三,偶数阶幻方....................................
2020-05-06 01:49:14 4552
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人