2024国赛C题农作物种植策略:贪心算法与价格弹性建模
简介一套2024年全国大学生数学建模竞赛C题《农作物的种植策略》一等奖完整方案聚焦最优化建模与算法求解适合备战国赛的本科生和建模团队参考。方案围绕2023年数据结合贪心算法、优先队列、价格弹性与间作条件系统讲解如何在复杂约束下完成种植方案优化既有建模思路也有落地代码。资源共296个文件以json数据、txt说明、xlsx表格为主体辅以Python源码、pdf论文及工程配置便于对照数据、复现模型与理解论文结构压缩包约12.5MB目录规划清晰可按需查阅。已有232人学习尤其推荐给想学习整数规划建模、算法对比分析或团队协作完成赛题的同学。内容包含从问题拆解、数据处理到模型构建与结果分析的全流程可直接作为论文写作与代码实现的参考资料帮助快速形成参赛思路并规避常见坑点。1. 2024国赛C题农作物的种植策略为什么一等奖的思路不是无脑线性规划2024年高教社杯国赛C题出的是农作物的种植策略很多队伍第一反应就是把收益最大化写成线性规划然后扔给求解器去跑结果要么约束冲突要么结果里大量地块闲置根本交不掉论文的“合理性检验”那一关。真正拿一等奖的队伍通常不是堆求解器而是先把“价格会随产量下降”“间作会改变地块产能”这两件反直觉的事想明白。这里分享的这份资源包含完整论文、代码和思路梳理核心算法是贪心加优先队列配合价格弹性和间作修正在2023年数据基础上把2024到2030年的种植方案滚了出来。适合正在备赛国赛、需要一份可复现代码和论文框架的同学也适合想用算法比赛作品快速上手的从业者看完你能直接照着一等奖的路径把方案重跑出来。2. 把2023年数据变成约束输入地块、轮作和播种季先盘清楚拿到C题的第一件事不是写算法而是先做数据体检。C题给的地块、作物、成本和价格数据比较多尤其是有2023年历史种植数据时前一年的种植记录直接决定了今年哪些地块不能种什么这块信息漏掉后面贪心再精巧也救不回来。2.1 地块与作物的数据体检先回答“什么能种在哪”我一般会把地块按类型做一次归拢常见分类包括普通大田、水浇地、梯田、山坡地和各类大棚。每种地块允许种植的作物集合是不同的山坡地灌溉不方便就不适合种需水量大的作物大棚里可以种食用菌但食用菌对温度和湿度的连续性要求高不能随便跟大田作物混排。常见做法是先把题目给的表格转成结构化数据用脚本做一次合法性检查。下面这段是我在复现时用的数据体检片段主要作用是建立“地块-作物-季节”的三元索引并且把不能组合的候选先过滤掉。import pandas as pd df pd.read_json(1_1.json) # 示例中间数据实际请替换为题目附表 df[allowed] True # 山坡地去掉高耗水作物 df.loc[(df[land_type] 山坡地) (df[crop_type].isin([水稻, 莲藕])), allowed] False # 大棚地块只保留食用菌和蔬菜类 df.loc[(df[land_type].str.contains(大棚)) (~df[crop_type].isin([蔬菜, 食用菌])), allowed] False candidate df[df[allowed]].copy() candidate[key] candidate[land_id].astype(str) _ candidate[season] print(candidate.groupby([season, land_type]).size())逻辑说明这里先粗暴地按地块类型筛掉明显不合法的组合再以“地块季节”为聚合键看看每个季节里可选作物有多少。为什么用key而不是直接丢进优化里因为后面贪心算法每次迭代都要快速判断某个地块在某个季节还能不能种提前建好索引能省掉大量重复查表的操作。参数说明代码里的“山坡地”和“大棚”是示例分类名实际以题目附表为准。allowed这个布尔字段很重要它是所有后续约束过滤的入口不要直接改原始数据否则后面想回溯某块地为什么被排除时非常痛苦。2.2 轮作、豆类固氮与季节窗口贪心之前的规则过滤C题里最影响结果的是轮作约束。连续在同一块地种同一种作物会导致土壤病害和养分失衡所以题目通常会限制同一地块不能连续种植同一种作物并且种过豆类作物的地块要单独处理因为豆类有固氮作用下一季不能马上又种同类豆科作物。我在代码里会把轮作约束做成一张“禁止连续表”。表的结构很直接地块ID、上一季作物、当前季作物只要这两个相同就禁止组合。约束类型常见规则示例对贪心的影响重茬限制同一地块连续两季不能种同一种作物候选组合要排除掉和上一季相同的作物豆类固氮种过豆类的地块下一季不能立刻再种豆科豆类作物要单独打标分配后更新该地块状态季节窗口部分作物只能在春季或秋季播种贪心队列按季节分桶不能跨季取候选种植面积上限同一种作物总种植面积不能超过市场容量需要一个全局面板统计每个作物的累计面积把这些规则写成函数贪心每一轮在弹出一个候选方案前先调用一遍比在结果出来后再校验要高效得多。我第一次做的时候图省事把轮作校验放到了最后结果输出的方案连续三年在一块地上种小麦数据上完全说得通但题目规则直接判负。2.3 决策变量和初始化方案用地块优先级给贪心一个起点定义决策变量时不用把每个地块的每一季都展开成几百个变量而是把决策拆成“地块、季节、作物、面积”四元组。这样每轮贪心弹出的就是一个可执行的种植动作而不是一个抽象的数学解。初始化方面我一般会做三件事。第一把2023年的种植记录做成“上一季状态”因为2024年第一季能不能种某作物取决于2023年最后一季种了什么。第二给地块排序面积大、地力好、灌溉条件好的地块优先参与分配这个优先级只是为了让贪心有个稳定的处理顺序不直接影响收益计算。第三把所有地块按照“空闲”状态放进一个初始候选池后面再交给优先队列去排。初始化代码通常是这样plot_priority ( df.groupby(land_id) .agg(area_sum(area, sum), land_type(land_type, first)) .reset_index() ) plot_priority[priority] plot_priority[area_sum].rank(ascendingFalse) plot_priority plot_priority.sort_values(priority) print(plot_priority.head(10))逻辑说明rank按面积降序生成地块优先级面积大的地块排在前面。这里的核心思想是让大规模地块在贪心的早期阶段就被占用避免后期因为轮作约束出现大面积闲置。参数说明area_sum是聚合字段实际使用时要和季节维度结合因为同一个地块在不同季节里有不同的可用面积。到这里约束基本上被切成了四个卡口地块类型卡口、轮作卡口、季节窗口卡口、全局面板卡口。接下来才进入真正的贪心算法。3. 贪心算法与优先队列为什么快速排序式的重排会翻车C题这种规模数据量不算特别大但组合关系复杂如果每一轮都把所有候选组合重新排序一遍单轮时间复杂度会变成O(M log M)M是候选组合数。最麻烦的是每次分配完一个地块后全局面板里很多候选组合的收益都会变化比如某种作物累计面积已经接近市场容量上限再种就会压价。3.1 排序字段的选择面积收益、修正收益与边际收益很多队伍做贪心时直接拿“亩产乘单价减成本”作为收益字段这个做法在一开始是对的但会忽略两个致命问题。第一单价不是固定的总产量提高后单价会掉第二不同作物的种植成本差异很大有的作物虽然亩产值高但人工和物资成本也高净收益远没有表面好看。我一般把排序字段分为三层第一层是基础净收益第二层是价格弹性修正后的净收益第三层是边际收益。基础净收益用于初始化候选池修正净收益用于正式贪心迭代边际收益则用于某块地被分配完后周边地块的连带修正。这里举一个实际现象如果只用面积收益排序优先队列会把所有高产值大棚地块先种满食用菌但食用菌市场容量相对有限产量一上去2025年以后的单价会被打得很低导致整个方案后期收益崩掉。这就是热搜里“python量化交易策略代码”常说的一个概念——你不仅要找最优标的还要考虑组合后的市场冲击。3.2 Python优先队列实现小根堆做出“局部最优”Python的heapq默认是小根堆所以要把收益取负再入堆。每次弹出的是负值最小的元素也就是收益最大的候选组合。分配完成后该地块本季节被占用需要清掉和它冲突的候选组合再把下一季该地块的候选重新入堆。代码实现如下import heapq heap [] for _, row in candidate.iterrows(): profit (row[yield_per_mu] * row[price] - row[cost_per_mu]) * row[area] heapq.heappush(heap, (-profit, row[land_id], row[season], row[crop_type], row[area])) plan [] while heap: neg_profit, land_id, season, crop, area heapq.heappop(heap) if not check_rotation(land_id, crop, season): continue if not check_capacity(crop, area, global_panel): continue alloc(plan, land_id, season, crop, area) update_rotation_state(land_id, crop) update_capacity_panel(crop, area) # 重新生成该地块下一季的候选组合 for _, row in candidate[(candidate[land_id] land_id) (candidate[season] next_season(season))].iterrows(): new_profit (row[yield_per_mu] * calc_price_with_elasticity(row[crop_type]) - row[cost_per_mu]) * row[area] heapq.heappush(heap, (-new_profit, row[land_id], row[season], row[crop_type], row[area]))逻辑说明heappop弹出的组合如果没通过轮作校验或容量校验就直接丢弃然后继续弹下一个。这里的关键点在于分配完一块地后不是把所有候选重新排序而是只把该地块下一季度的候选组合重新入堆摊下来每轮更新成本只有O(log N)比每次都做一次全量快速排序要稳得多。参数说明global_panel是全局面板记录每个作物已经累计种植的面积next_season函数返回该地块的下一个种植季节注意不是所有地块都有三个季节大棚地块可能有更多茬口需要单独维护。3.3 滚动年到2030每一轮分配完都要重排候选组合C题往往要求规划多年从2024年到2030年。贪心的滚动写法是按“季节-年”粒度推进把每一年的结果作为下一年轮作初始状态。这里容易踩的坑是单年最优不等于多年最优。我在滚动时的处理思路是每年内部按优先队列做完整分配年末做个“虚拟销售”把该年各作物的总产量回算到价格弹性模型里用一个压低后的价格修改下一年候选收益。这个修改幅度不大但能给贪心一个明确的信号——这种作物不能再无脑扩种了。滚动更新的代码如下for year in range(2024, 2031): for season in [春, 夏, 秋]: prepare_heap(season, year, rotation_state, global_panel) run_greedy_alloc() finalize_year(year) update_rotation_state_for_next_year(rotation_state)逻辑说明这个框架把每个季节看成独立的一轮分配年与年之间只通过rotation_state和global_panel衔接。这个方法不保证全局最优但可以稳定产出一套满足约束的可行解。实际一等奖论文里通常还会再加一个“局部搜索”来改进贪心解但那份资源和论文里把贪心作为主轴代码更清晰也更适合比赛复现。从复杂度上看这个贪心整体接近O(年份数×季节数×候选组合数×log候选组合数)跑起来非常快七年的方案在普通笔记本上几秒就能出结果。相比直接上线性规划求解器输出结果的解释性也更好。4. 价格弹性与间作种植策略里最容易被看漏的两个修正项题目里最让人头疼的两个点是价格弹性和间作。很多队伍在建立目标函数时把单价当成固定常数导致整个优化方向偏掉。间作更是如此如果不会处理同一地块里两种作物共存的情况面积核算就会一塌糊涂。4.1 价格弹性公式产量越大单价越低贪心目标函数要跟着变价格弹性的思想很简单某种作物总种植面积扩大产量上升市场单价会下降。C题里不会直接给弹性系数但会给过去几年的价格变化趋势或者给出“销售价格受产量影响”的提示这时候需要在论文里自己给出一个合理假设。我常用的弹性模型是线性近似def get_price_with_elasticity(base_price, output_total, output_base, elasticity0.15): ratio (output_total - output_base) / max(output_base, 1e-6) return base_price * (1 - elasticity * ratio)逻辑说明ratio表示今年某作物总产量相对于基础年份的增长比例elasticity表示产量每增长1%时价格下降的百分比。如果弹性系数取0.15产量增加10%单价就下降1.5%这个修正看似不大但累计到第2030年会非常可观。参数说明output_base可以用2023年该作物的总产量output_total是当前贪心方案累计出来的总产量base_price取2023年销售价格。实际做的时候我一般不会固定elasticity为0.15而是对粮食类作物取0.1到0.2对食用菌这类市场容量更小的取0.2到0.3。关键点在于贪心算法在每轮分配时都要调用价格弹性函数也就是代码中的calc_price_with_elasticity否则等到整年方案全部生成后再回算价格就已经晚了很多劣质组合已经进了方案里。4.2 间作的地块拆分把一块地拆成“逻辑子地块”再进优先队列间作指的是在同一地块上同时种植两种或以上作物比如玉米和大豆间作。这种做法在农业上很常见因为不同作物的根系深度、光照需求不同合理地间作可以提高土地利用率。放到算法里我通常把间作处理成“逻辑地块”。一个物理地块拆成两个子地块每个子地块占原面积的一部分两个子地块的种植作物不同但共享同一个轮作状态。这样做的好处是优先队列的候选组合不用改每一个逻辑地块都当一个独立地块来参与分配。def split_land(land_id, land_area, crop_a, ratio_a, crop_b, ratio_b): assert ratio_a ratio_b 1.0 1e-6, 间作面积占比之和不能超过1 sub_a {land_id: f{land_id}_A, area: land_area * ratio_a, crop: crop_a} sub_b {land_id: f{land_id}_B, area: land_area * ratio_b, crop: crop_b} return sub_a, sub_b逻辑说明把父地块拆分成两个子地块后轮作状态需要同时继承也就是说无论哪部分种过某种作物整个父地块下一季都不能再种同一种。这样做虽然损失了一部分灵活性但能保证间作方案完全符合重茬限制。参数说明ratio_a和ratio_b是间作比例两者之和不能超过1中间还要留出田埂和操作道所以实际使用时我会把总占比控制在0.9左右留一点安全裕度。这比硬性让两个子地块加起来等于1要靠谱因为题目里说的“地块面积”不一定是完全可种植面积。4.3 弹性与间作叠加用迭代贪心逼近全局均衡单独做价格弹性或者单独做间作拆分都不难两个叠在一起就麻烦了。间作会改变同一地块的总产量而总产量又反过来影响价格弹性二者存在耦合。我一般用迭代贪心逼近均衡。第一轮贪心先不启动弹性修正生成一个基准方案第二轮把基准方案的总产量代入弹性公式重新计算每个候选组合的收益再跑一遍贪心如此重复三到四次直到前后两轮的方案差距小到阈值内。prev_solution None for it in range(4): solution run_greedy_with_elasticity(elasticity_model, rotation_state) if prev_solution and compare_solution_diff(prev_solution, solution) 0.001: break prev_solution solution逻辑说明迭代贪心的收敛速度通常很快三次左右就会稳定。这里要留意一个细节最后输出的方案不一定是收益最大的那一版而是迭代中前后差异最小的那一版因为后者对应的价格弹性假设才与最终产量自洽。正因为这一点论文里会写“本方案在价格弹性自洽条件下达到较优”评阅人认可度会高很多。如果想深入看价格弹性建模的细节和间作比例怎么定这份资源里的一等奖论文给出了完整的推导过程代码里也有对应的函数实现不需要你自己再去做文献综述。5. 常见问题排查用这套代码做出不合理收益时的五个翻车点把代码跑通容易跑出来的结果能过评阅才是关键。下面这五个问题是我在复现同类作品时真实遇到的每个都按现象、原因、解决的顺序说清楚。5.1 总产量涨了销售额却跌了现象方案里某作物种植面积从2024到2027年逐年扩大产量很漂亮但销售额反而下降论文里的图表很难看。原因没有在贪心目标函数里加入价格弹性所有年份都用2023年固定单价计算收益算法潜意识里会不停扩种高单价作物直到把市场容量撑爆。解决把价格弹性修正放进每轮候选组合收益计算中并且在论文里补一张“种植面积-单价”的敏感度表。固定单价当作基准场景弹性单价当作修正场景两个场景一对比评阅人一眼就能看出来你理解了题目的深层逻辑。5.2 地块闲置率过高评阅人不愿意给分现象跑完发现每年有接近三成地块没有种植安排尤其是那些面积小、位置偏的地块几乎全程空白。原因贪心只按全局收益最大弹候选小地块的候选组合即使可行收益也排不到前面自然会被一直压着不分配。解决在每个季节结束后单独跑一个“补种阶段”。把剩余闲置地块按最小收益阈值过滤一遍只要该地块能种且不违反轮作就强制分配一种收益为正的作物。注意这里不能为了填满地块而忽略季节窗口所以补种前要再调一次季节合法性函数。5.3 轮作被破坏最后结果被一票否决现象代码跑出来的2027年某块地又种了小麦但邻接的2026年该地块同样种的是小麦打印出来的计划表里能明显看到连续两季重茬。原因初始化时没有把2023年最后一季的种植记录读入轮作状态。轮作校验函数本身写的没问题但初始状态为空等于2024年头一季的上一季状态全部被忽略后续校验也跟着失效。解决在数据体检阶段就把2023年的种植数据转成一个“last_crop”字段绑定到每个地块上。每次check_rotation前先打印一下当前地块状态确保上一季作物不是空值。我一般会在滚动循环里加一个断言如果某地块的轮作状态为空直接中断并报错。5.4 间作面积对不上账数据校验被卡住现象代码里间作子地块的面积之和大于父地块面积导致最后统计总种植面积时出现超额数据表直接被判定不合法。原因两个子地块都按父地块净面积赋值忽略了间作时需要的行距和预留空间相当于重复计算了同一块地。解决拆分函数里强制加上占比校验ratio_a和ratio_b之和不超过1.0并且再留出一部分“不可种植系数”。我在上面例子中已经把assert写进函数里这种校验看似简单但能帮你快速定位到哪一块地从哪个拆分函数里出了问题。5.5 代码与论文图表不一致答辩现场被问住现象论文里放的总产值图和代码最终输出结果对不上答辩时评委只要一追问现场就乱了。原因贪心过程涉及多次迭代更新如果随机种子没固定优先队列在某些并列收益的候选组合上会弹出不同结果导致两次运行方案有细微差别。解决在所有用到随机数的地方固定种子并在代码开头打印版本号和配置信息。另外优先队列里两个组合收益相同时要按地块ID和作物ID再排一次序保证结果稳定。复现时先跑一遍代码生成方案再按方案重新生成全部图表不要用手写的旧数据来画图。6. 进阶验证用灵敏度分析把贪心结果变成可以答辩的结论一等奖和二等奖的区别往往不在算法多复杂而在你能不能说清楚“参数为什么这么设结果对哪个参数最敏感”。灵敏度分析就是为了回答这个问题。我通常会选三个维度做分析价格弹性系数、间作比例、豆类轮作比例。每个维度取三到五档参数跑完记录总产值、总利润、土地利用率、连作违规次数四个指标。把结果做成一张表评阅人一眼就能看出你的方案有没有冗余度。参数默认值测试范围主要影响价格弹性系数0.150.05-0.30总产值和种植结构间作比例0.450.30-0.60土地利用率豆类轮作比例0.200.10-0.30连作违规次数灵敏度的代码并不复杂本质上是把主流程包一层循环for elasticity in [0.05, 0.10, 0.15, 0.20, 0.25]: result run_full_solution(elasticityelasticity) record(elasticity, elasticity, result.total_profit, result.land_use_rate)这段代码跑完你可以直接画两条线一条是总产值随弹性系数的变化曲线一条是土地利用率随间作比例的变化曲线。如果总产值随弹性系数变化剧烈说明方案对市场价格很敏感论文里就要重点解释为什么弹性系数取这个值如果土地利用率在间作比例0.4到0.5之间变化不大说明方案在这个区间内是稳定的这个区间就可以作为你最终方案的推荐区间。从那以后我每次做完这类种植策略模型都会强制把灵敏度分析先跑一遍等表格里的数字自洽了再动笔写论文绝不会先写结论再补参数。对于手里这份资源的复现路径我建议你也按这个顺序走一遍先数据体检再跑贪心基准版叠加弹性和间作修正最后用灵敏度分析定稿。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

组合优化实战:Markowitz模型与遗传算法Python拆解

组合优化实战:Markowitz模型与遗传算法Python拆解

简介:面向金融量化与Python开发者的投资组合优化实战代码包,围绕Markowitz均值-方差模型与遗传算法两条主线,提供可运行的Python实现。内容聚焦风险约束下的资产配置:基于历史价格数据计算资产平均收益率与协方差矩阵,…

2026/10/10 14:48:53 阅读更多 →
基于Hadoop与Spark的中文手写数字实时识别系统实现与避坑指南

基于Hadoop与Spark的中文手写数字实时识别系统实现与避坑指南

简介:这是一份基于Hadoop和Spark的中文手写数字实时识别系统完整课设源码包,面向大数据课程设计、毕业设计以及Python实践作业场景。项目将分布式计算框架与机器学习结合,针对中文手写数字的实时识别需求,提供了从数据特征提取、模…

2026/10/10 14:48:53 阅读更多 →
汉明码纠错原理与C语言实现:从(7,4)到(12,8)及ECC内存

汉明码纠错原理与C语言实现:从(7,4)到(12,8)及ECC内存

做嵌入式通信和存储的同学,大概率都遇到过这种诡异情况:数据在链路上跑一圈回来,某个字节悄无声息地变了,最常用的奇偶校验却只告诉你“出错了”,至于哪一位出错,一脸茫然。汉明码就是专门解决“单比特翻转…

2026/10/10 14:48:53 阅读更多 →

最新新闻

YOLOv8实战:可口可乐产品识别数据集训练与避坑指南

YOLOv8实战:可口可乐产品识别数据集训练与避坑指南

简介:这是一份面向YOLO系列算法学习者的产品识别目标检测数据集,内含5166张带标签图像,覆盖可口可乐等产品的识别场景。数据集已按训练/验证需求划分,并配备data.yaml配置文件,可直接用于yolov5、yolov8、yolov9、yolo…

2026/10/10 18:11:45 阅读更多 →
异或运算从原理到实战:位运算中的对称加减法

异或运算从原理到实战:位运算中的对称加减法

最近在网上翻到一道很经典的题:一组整数里,每个数字都出现了偶数次,只有唯一一个数字出现了奇数次,要求把它找出来。很多人第一反应是哈希表,数一遍再遍历。但如果再加一条限制,空间复杂度必须做到 O(1)&am…

2026/10/10 18:11:45 阅读更多 →
练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中

练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中

练题簿在线免费刷题:创建个人任务,把刷题、听题和模考目标放到每天的学习中选择题库、设置目标与时间,查看任务进度,再通过通知和完成记录跟进自己的复习。准备考试或复习课程时,明确今天练什么、还差多少,…

2026/10/10 18:11:45 阅读更多 →
Python实现多无人机任务分配:PSO优化与约束求解

Python实现多无人机任务分配:PSO优化与约束求解

简介:本资源是一套面向算法工程师、智能无人系统开发者及高校相关专业学生的多无人机协同任务分配实战项目,聚焦于用Python实现粒子群优化(PSO)算法解决动态任务调度难题,适用于农业巡检、应急响应、物流配送等实际场景…

2026/10/10 18:10:44 阅读更多 →
插件“消失“之谜:从缓存到市场同步,Codex 插件加载机制到底怎么工作

插件“消失“之谜:从缓存到市场同步,Codex 插件加载机制到底怎么工作

插件"消失"之谜:从缓存到市场同步,Codex 插件加载机制到底怎么工作 【免费下载链接】plugins OpenAI Plugins 项目地址: https://gitcode.com/GitHub_Trending/plugins123/plugins "打开 Codex 的插件页面,搜 Playwrig…

2026/10/10 18:09:43 阅读更多 →
全卷积网络实战:Penn-Fudan行人分割数据集解析与训练

全卷积网络实战:Penn-Fudan行人分割数据集解析与训练

简介:这份资源围绕全卷积网络(FCN)在Penn-Fudan Database上的行人检测与分割实践展开,面向具备一定深度学习基础、希望掌握像素级语义分割的开发者与研究者。内容涵盖FCN的核心原理——以卷积层替代全连接层、通过上采样与跳跃连接…

2026/10/10 18:08:43 阅读更多 →

日新闻

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

卫星轨道分类全解析:从LEO到GEO的选型逻辑与工程实践

1. 从“卫星轨道分类”这个标题说起:为什么值得花时间搞懂第一次接触“卫星轨道分类”这个概念,很多人会觉得它离自己很远——不就是天上的星星怎么转吗?但如果你正在做航天任务规划、遥感数据接收、星座设计,甚至只是准备一场航天…

2026/10/10 0:00:39 阅读更多 →
Spring AOP 核心原理与实战:从概念到日志切面落地

Spring AOP 核心原理与实战:从概念到日志切面落地

1. 从一个真实痛点说起:为什么你的代码里到处都是重复逻辑刚入行那会儿,我写过一个用户管理模块,注册、登录、改密码、注销四个接口。每个接口里都塞了几乎一样的日志打印、参数校验、事务开启和提交。当时觉得没什么,能跑就行。直…

2026/10/10 0:00:40 阅读更多 →
Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

Python招聘数据采集与分析可视化:从采集清洗到薪资技能城市可视化全链路

简介:这是一套面向计算机相关专业学生与项目实战学习者的Python数据采集与分析可视化完整项目,以Boss直聘岗位数据为对象,适合用作毕业设计、课程设计或期末大作业。资源包共38个文件,约246KB,以13个py源码文件为核心&…

2026/10/10 0:00:40 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:25 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 1:36:08 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 11:14:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 5:23:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →