自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (1)
  • 收藏
  • 关注

原创 【无标题】

OpenJudge 4152:最佳加法表达式题解

2022-08-21 15:41:00 57 1

原创 如何证明欧几里得算法

2020-08-17 16:30:24 607

原创 KMP 算法代码模板

void GetNext(string t) { int tlen = t.size(); //init int j = 0; int k = -1; Next[0] = -1; while(j < tlen - 1) { if(k == -1 || t[k] == t[j]) { Next[++j] = Next[++k]; } else { k = Next[k]; } }}//ts 主串,ps 模式串 int KMP(string ts, stri

2020-08-16 23:29:37 156

原创 LeetCode 最小栈

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。push(x) —— 将元素 x 推入栈中。pop() —— 删除栈顶的元素。top() —— 获取栈顶元素。getMin() —— 检索栈中的最小元素。示例:输入:[“MinStack”,“push”,“push”,“push”,“getMin”,“pop”,“top”,“getMin”][[],[-2],[0],[-3],[],[],[],[]]输出:[null,null,null,null,-3

2020-08-15 14:55:04 109

原创 高斯-约旦消元法

高斯-约旦消元法,这种方法是直接转换成单位矩阵求解,学过线性代数的话应该很容易理解,这种方法就是解矩阵的标准方法,只不过把单位化放到了最后一步const double eps=1e-6;void Guass-Jordan(){ int r;double tmp; for(int i=1;i<=n;++i){//i是列 r=i;//r记录该列最大元素的行的位置 for(int j=i+1;j<=n;++j) if(f

2020-08-13 13:06:14 591 1

原创 2 Keys Keyboard

题目其实就是求一个数分解出来的质因数的和为什么?首先我们复制粘贴不管怎么操作,A->B操作之后,B一定是A的倍数,这就证明了这个题的数可以通过一串数字的乘积的形式来表达假设这个数可以分解成(i-1)(j-1),由于(i-1)(j-1)>=1,化简得ij>=i+j,所以证明了如果能拆成乘积,一定要比和的形式更优。那么为什么要是质因数的乘积呢?当然是因为拆成质因数拆的更多,上面已经证明,拆的越多,结果越优,所以这个题只需要求分解后所有质因数的和就可以了int res=0;for(

2020-08-13 09:47:16 118

原创 Integer Break

leetcode integer break这里有一个很有意思的结论:当拆分一个数的时候,尽可能拆出来多的3,剩下的全是2就可以保证拆分出来数的乘积最大if(n<=3)return n-1;int res=1;if(n%3==1)res*=4,res-=4;if(n%3==2)res*=2,res-=2;while(n)res*=3,res-=3;return res;...

2020-08-13 09:27:00 63

原创 Bulb Switcher

leetcode bulb switcher分析一下题目题目关键是要求每个灯被按了多少次开关,而我们会发现,开关按了多少次和这个数有多少个因数相关,如12号灯:12的因数有1,2,3,4,6,12.于是在这些编号对应的轮时都会被按。我们发现一个规律,只有完全平方数的因数是奇数个,其余数由于因数分解时一定是一对一对的因数,所以因数都是偶数个。于是最后只有完全平方数的灯亮着,其余的都灭。答案就是简简单单的 sqrt(n) (自动向下取整)...

2020-08-13 09:13:58 79

原创 Poor Pigs - leetcode

这题用信息熵的知识算下界选k头猪,每头猪有五种状态,可以传递5个信息:0-15死亡15-30死亡30-45死亡45-60死亡不死亡k头猪可以表示5^k种状态必须让5^k>=n,才能保证解出来求满足这个式子的最小值即可,得出的k即为下界所以具体如何操作呢?由于有五种状态,我们选择五进制数对应0-n-1的每个数将0-n-1换成五进制数一共有k位,k位里面每位都对应一头猪如果数字为0,则第0分钟的时候喂,为1则在第15分钟喂,每头猪都这样喂对应的毒药假如1142(5)号为毒药

2020-08-12 17:06:10 243

原创 Minimum Moves to Equal

leetcode Minimum Moves to Equal问题邮局问题,找到中位数即可为什么要找中位数?可以首位两两配对,发现可以转换到数轴上,要想要绝对值最小,就是让点取到数轴上两点之间。当每组配对都是取到两点之间即可,容易看出中位数满足这个条件(不管是奇数个数还是偶数个数)代码用到STL库中nth_element函数nth_element(a,a+k,a+n),函数只是把下标为k的元素放在了正确位置,对其它元素并没有排序,当然k左边元素都小于等于它,右边元素都大于等于它,所以可以利用这个

2020-08-12 16:37:25 108

原创 Missing Number

要求:在线性时间内完成方法一:求和作差求出 0 到 n 的和,然后再计算原数组的和,作一个差就是缺失的数字了。由于数组里每个数字只被访问了一遍,故为线性时间。```cpppublic int missingNumber(int[] nums) { int sum1 = 0; for (int n : nums) { sum1 += n; } // 等差公式计算 1 到 n 的和 int sum2 = (1 + nums.length) *

2020-08-12 16:07:58 231

原创 arduino 双按钮

boolean pushButton1;boolean pushButton2;void setup() { // put your setup code here, to run once: pinMode(2,INPUT_PULLUP); pinMode(8,INPUT_PULLUP); pinMode(13,OUTPUT);}void loop() { // put your main code here, to run repeatedly: pushButto.

2020-07-08 17:06:00 1392 2

原创 arduino 导入时avrdude: ser_open(): can‘t open device “\\.\COM4“: 系统找不到指定的文件。

解决方法:数据线忘插了,插上去就好了

2020-07-08 16:44:03 5674 1

原创 arduino btn

boolean pushButton;void setup() { // put your setup code here, to run once: pinMode(2,INPUT_PULLUP); pinMode(13,OUTPUT);}void loop() { // put your main code here, to run repeatedly: pushButton = digitalRead(2); if (pushButton) { //if pu.

2020-07-08 16:42:13 248

原创 arduino digitalreadserial

串口监视器按钮按下0按钮不按1

2020-07-08 16:10:42 319

原创 arduino basic blink

代码用的是arduino basic blink代码,把所有的LED_BTN换成5即可

2020-07-08 12:07:17 206

原创 微信小游戏学习心得-1

微信小游戏学习心得API是什么?API是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。API 分为四种类型:远程过程调用、标准查询语言、文件传输以及信息交付。从微信小游戏默认的初始游戏打飞机开始学习## quickstart## 源码目录介绍./js├── base ...

2020-04-12 21:41:51 377

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除