自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 PHP学习笔记(八)

PHP函数支持返回值、可变调用和闭包。返回值通过return返回,多值需用数组包装。可变函数通过变量名动态调用,但不能用于echo等语言结构。匿名函数(闭包)可赋值变量,用use继承父作用域变量,类中自动绑定$this。函数分核心和扩展两类,后者需加载模块。静态匿名函数可阻止自动绑定。

2025-05-21 18:19:28 646

原创 身份授权——OAuth 2.0协议

OAuth 2.0 是主流的第三方授权协议,通过颁发短期令牌(Access Token)替代密码,实现安全资源访问。核心流程包含授权码、隐藏式等四种模式,其中授权码模式最安全,适合Web应用。结合OIDC可扩展身份认证功能,需配合HTTPS、PKCE等机制防御CSRF/令牌泄露风险,适用于微信登录、API授权等场景。

2025-05-18 14:45:40 686

原创 身份认证——OIDC协议

OpenID Connect (OIDC) 是基于 OAuth 2.0 的身份验证协议,用于简化用户认证和信息获取。其核心是 ID Token(JWT 格式),用于验证用户身份,而 OAuth 的 Access Token 用于资源访问。OIDC 支持身份验证、用户信息获取和动态发现,因其便捷性成为主流认证方案。

2025-05-17 14:56:36 916

原创 PHP学习笔记(七)

PHP中的require_once和include_once用于确保文件仅被包含一次,避免重复定义函数或类。goto操作符允许在程序内跳转,但目标位置必须位于同一文件和作用域内。用户自定义函数可以包含任何有效的PHP代码,且所有函数和类具有全局作用域。PHP不支持函数重载,但支持递归函数。函数参数可以通过值或引用传递,支持默认参数、可变长度参数列表和命名参数。自PHP 8.0起,命名参数允许根据参数名传递值,增强了代码的可读性和灵活性。

2025-05-16 09:15:05 1315

原创 Multi-Decoder Attention Model with Embedding Glimpse for Solving Vehicle Routing Problems-论文阅读

本文提出了一种新颖的深度强化学习方法,用于解决车辆路径问题(VRP)。该方法采用多解码器注意力模型(MDAM),通过训练多个差异化策略,显著提高了找到优质解的概率。针对MDAM的多样性特点,设计了定制化集束搜索策略,以充分挖掘其潜力。此外,引入了嵌入凝视层(EG层),通过提供更具信息量的嵌入表示来提升各策略的决策质量。实验结果表明,该方法在六类典型路径问题上显著超越了当前最先进的基于深度学习的模型,展示了深度学习在路径问题启发式规则学习中的巨大潜力。

2025-05-12 23:24:16 993 1

原创 PHP学习笔记(六)

本文介绍了PHP中的几种流程控制结构和文件包含机制。break用于跳出循环,可指定跳出层数;continue跳过当前循环剩余代码,开始下一次循环。switch用于多条件比较,支持松散比较,match则进行严格比较。declare设定代码执行指令,return用于返回值并终止函数或脚本执行。require和include用于动态加载文件,区别在于错误处理方式,require在文件不存在时抛出致命错误,而include仅发出警告。文件查找遵循特定路径规则,被包含文件继承包含位置的变量作用域,且可以返回自定义值。

2025-05-12 22:54:27 686

原创 PHP学习笔记(五)

PHP提供多种运算符(如@抑制错误、``执行命令、.连接字符串、+合并数组、instanceof类型检查)和控制结构(if/else/while/for/foreach),支持条件判断、循环遍历及复杂逻辑处理,特别适合数组和对象操作。

2025-05-11 23:06:17 755

原创 POJ-2398-Toy Storage-题解

《Toy Storage》是一道算法题目,要求处理一个带有隔板的盒子,并计算每个区域内的球的数量。题目提供的隔板未排序,且是另一道题目“Toy”的升级版。解题思路主要涉及叉积和二分法。通过叉积判断球的位置是否在隔板的左侧或右侧,并使用二分法确定隔板的编号。代码部分使用C++实现,包含结构体定义、叉积计算、二分查找等操作,最终输出每个区域内的球的数量。

2025-05-11 22:31:13 299

原创 P1983 [NOIP2013 普及组] 车站分级-题解

题目P1983 [NOIP2013 普及组] 车站分级要求根据火车停靠站点的信息,确定火车站的最小级别划分。每个火车站的级别由其停靠的火车决定,未停靠的火车站级别必须低于停靠的火车站。通过拓扑排序,可以有效地解决这个问题。首先,标记每趟火车停靠的站点,然后建立未停靠站点指向停靠站点的有向边,避免重边。初始化每个站点的级别为1,通过拓扑排序更新每个站点的级别,最终输出最高级别。该方法确保了级别划分的最小化,并避免了重复计算。

2025-05-11 22:28:07 227

原创 P2805 [NOI2009] 植物大战僵尸-题解

《P2805 [NOI2009] 植物大战僵尸》是一道基于植物大战僵尸游戏背景的算法题,要求通过合理安排僵尸的攻击顺序,最大化能量收入。题目中,每个植物有一个能量值(正或负),僵尸进入植物攻击范围即被消灭。解题思路包括最小割和拓扑排序。首先,通过拓扑排序去除环上的点和被环保护的点,因为这些点无法被攻击。接着,将问题转化为最大权闭合子图问题,通过建立虚拟源点和汇点,将正权点与源点相连,负权点与汇点相连,边权为能量值的绝对值。最后,使用Dinic算法计算最大流,正权点能量之和减去最大流即为最大能量收入。、

2025-05-11 22:25:55 1086

原创 蓝桥——第 1 场算法双周赛——题解

蓝桥第一场算法双周赛题解

2025-05-11 17:49:39 844

原创 PHP学习笔记(四)

PHP常量通过const或define()定义,不可重复定义,支持标量值和数组,作用域全局。表达式是PHP核心,包括变量、常量和运算符运算。运算符分一元、二元、三元,优先级和结合性决定计算顺序。赋值运算符(=、&引用)用于变量赋值,组合运算符简化运算。比较运算符需注意类型转换,浮点数比较可能存在精度问题。位运算符直接操作二进制位,位移属数学运算。

2025-05-10 15:19:38 663

原创 PHP学习笔记(三)

PHP变量以$开头,区分大小写,命名需字母或下划线开头。默认传值赋值,引用赋值可影响原变量。未定义变量访问会警告,但追加元素会自动创建数组。超全局变量(如$_GET、$_POST)全局可用。作用域分全局和函数级,global引入全局变量,static保持函数间值。可变变量($$a)支持动态命名,数组属性需${$a[1]}避免歧义。外部变量(如表单、Cookie)通过预定义数组获取,变量名中的点转下划线。PHP自动类型转换,但需注意未初始化变量的风险。

2025-05-09 09:16:13 609

原创 PHP学习笔记(二)

PHP支持多种变量类型和类型声明,包括资源类型(resource)、回调类型(callable)、混合类型(mixed)、空类型(void)、永不返回类型(never)等。资源类型保存外部资源的引用,回调类型允许传递函数或方法作为参数。PHP 8.0+引入mixed作为顶级类型,void表示无返回值,never表示函数不会终止。类型声明可用于函数参数、返回值、属性和常量,不匹配时会抛出TypeError。PHP支持联合类型、可为null类型(?T)及严格类型模式,默认会尝试类型转换。上下文(如数字、字符串、

2025-05-08 09:30:00 666

原创 PHP学习笔记(一)

本文总结了PHP中NULL、布尔、整型、浮点型、字符串、数组、对象和枚举等数据类型的特性及注意事项。NULL类型从PHP 8.0.0开始被移除;布尔类型不区分大小写,非零值视为true;整型支持多种进制表示,溢出返回float;浮点数比较需考虑误差,NaN比较规则特殊;字符串单引号不解析变量,heredoc和nowdoc结构需注意语法;数组键名可强制转换,相同键名会覆盖;对象转换保留原样,其他类型转为stdClass实例;枚举转换有限制,部分操作会报错。文章还提到PHP版本差异带来的变化,如数字字符串处理、

2025-05-07 09:11:33 868 1

空空如也

空空如也

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

TA关注的人

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