- 博客(25)
- 收藏
- 关注
原创 一种替代高阶循环的分组优化方法
我们可能遇到这种需求:把M个人分为{N1,N2,N3,...Nk}共k组,有约束条件(如第i组人数为3人,或者所有组别人数相同),给出优化目标(如使组之间的人员年龄之和差最小),求最优分组方式。传统的思路会想到for循环。定义M个循环变量,i1,i2,i3,...,iM,在M层循环内部计算优化目标,检验约束条件。本文给出一种可以完全替代分组优化情景中的高阶循环的算法。首先,把分组结果表示为一个M长度的K进制字符串S,若S的第i位取a,说明第i个人分到第a组(0<=a<K)。每种分组方式的字符串S唯一。
2024-08-13 15:15:07
319
原创 【nodejs】Vue手把手入门指南:教你做扫雷
JavaScript语言上手很快,一般的HTML/CSS/JAVASCRIP三剑客支持的浏览器模式的入门文章已经太多了,而介绍nodejs的博客往往不是过于简单,就是过于高深,哪怕CSDN这样的平台也少见合适的教程。这个函数初始化了炸弹的位置,并计算了每个格子周围有几个雷,传入count数组,count[i]是下标i的格子四周的雷的个数。npm是nodejs的包管理器,install是安装的意思,cnpm工具可以在国内环境更快地下载外部包,-g是global的缩写,代表全局安装。这是棋盘初始化操作。
2024-06-07 14:46:46
857
原创 VScode上使用git:远程拉取仓库
git版本管理已经无处不在,不论是新入职公司还是参与开源项目,都需要用到git。这是一份新手git攻略,教你把远程仓库同步到本地(clone\fetch\pull\branch),希望帮助你完成入门。1. 在本地建立一个项目文件夹,右键用Code打开。或者打开VScode后,选择顶部工具栏的文件-打开文件夹,打开指定目录。2. 选择VScode左侧工具栏的拓展选项卡(如图)。搜索git,随便装几个顺眼的git拓展。1. 在VS顶部选择终端(Terminal)-打开终端,打开命令行。第1步 本地安装git。
2024-05-07 13:42:38
1594
原创 npm install安装总攻略
先讲一下为什么需要装npm。众所周知,JavaScript功能强大,因为有众多外部库。初次把远程仓库同步到本地后,得到的工程文件是没有node_modules文件夹的,也就是没有依赖库的。这时候,需要用npm安装在线安装指定版本的依赖库(版本见package.json文件)。这里分三步走。讲完五个步骤,再讨论常见的报错。
2024-05-05 13:55:17
1970
原创 Android开发手把手入门精讲1:英里公里转换器
安卓工程开发的基础操作,附有项目完整java源码和代码详解,以及配置布局xml文件的注意事项,很适合配置完Android Studio后练手。
2024-02-20 10:11:38
1056
1
原创 【Echarts.js使用攻略1】曲线的添加与取消
首先是提出HTML的footer块,命名为legend,再用clear方法清空legend的内容,然后在for循环中依次加入selectedSeries列表的内容。如果某个系列的曲线是选中的图例,就执行chart.dispatchAction({type:"legendSelect",name:item})操作,即选中该图例。否则,取消选择该图例。注意,HTML文件只需要给出结构框架,确定不同组件的位置,至于组件的具体内容,是JavaScript代码要填充的,而组件的格式,是CSS代码确定的。
2023-12-19 14:45:20
570
1
原创 VS2022 C#项目版本号的更新
这是有可能的,比如我正在维护的一个.NET4.7框架的项目就没有这一样。一开始,我直接在里面加了一行<Version>3.1.1.12</Version>,但实际测试发现,版本号并未更新。首先,打开项目目录,找一下.csproj文件,如果里面有一行<Version>....</Version>,直接修改....处,改成需要的版本号。这是GPT教我的思路。最后解决了:在解决方案资源管理器右键,选择属性,在右边页面找到“程序集信息”按键,单击就可以修改版本号了。那么,要怎样修改C#项目的版本号呢?
2023-10-16 14:10:38
2797
1
原创 EffectiveC#之.NET的资源管理
而且,若GC发现某个对象已经成为垃圾,且还有finalizer需要运行,那么就只能在调用finalizer后释放对象,这样GC做了更多工作,消耗了更多时间。.NET运行在托管环境(managed environment)中,提供垃圾回收器帮助我们控制托管内存,我们由此不必担心内存泄漏、迷途指针、野指针等种种内存管理问题。第一篇总结了书中的技巧1与技巧2,这一篇归纳了书中提到的.NET资源管理,设计垃圾回收器(GC)和对象生存期(object lifetime)等概念。(2)不可达的对象。
2023-10-06 13:15:30
95
1
原创 C#为什么Form的子类需要用partial修饰?
为什么Form的子类需要用partial修饰?partial关键字表明把一个类分在不同的地方定义,最后编译器把他们合成一个类。
2023-10-06 09:04:51
95
1
原创 Effective C#笔记1-2
Effective C#》是Effective系列又一力作,旨在介绍C#语言的代码技巧。为什么要学?C#语法和C++、Jave相似,初学者会代入其他语言的代码习惯,但C#自身的特性决定它拥有特殊的技巧。就像书中的前言:“为什么要改变代码习惯?因为改后更好用”。这个系列会有详有略地介绍书中让我印象深刻的内容,希望能帮到和我一样在C#的学习道路上的新手与老手。本文是第一部分,涵盖书中1、2条。目录1. 优先使用隐式类型的局部变量(1)代码更简洁。(2)效率更高(1)不能作为全局变量,只能是局部变量。
2023-10-05 16:36:54
91
原创 [C#SQLite+跨窗体操作]登录功能与权限管理的实现
利用.NET平台C#语言开发窗体界面的登录注册功能。涉及SQLite数据库的读写,跨窗体控件访问与,有详实的思路说明、具体的操作指导、完整的代码框架。
2023-05-11 16:41:24
833
3
翻译 【C语言】malloc()和calloc()的区别
详细说明了malloc()函数和calloc()函数的名字起源、使用方法以及在参数数量 内存空间与初始化等方面的区别。
2022-08-16 14:48:35
711
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人