1. 西工大noj到底是什么为什么值得认真刷每年开学季新生群里总会被“西工大noj”“题解”“RE了救救”刷屏。这个词在懂的人眼里是“西北工业大学的在线评测系统”在刚接触的人眼里就是一连串红红绿绿的判定结果。你在这个系统上注册账号它给你一批编程题目你用C或C写代码提交上去系统自动编译、运行拿你的输出和标准答案做比对对了就是Accepted错了就是Wrong Answer超时就是Time Limit Exceeded格式不对就是Presentation Error。它本质上就是一个“代码裁判机器人”。所以你写的代码不是给老师看的是给机器看的机器只认规矩不认苦劳。这100题覆盖了从输入输出、分支循环、数组、字符串到函数、递归、结构体、排序和简单算法的基本功可以说把C/C入门阶段该踩的坑全踩一遍把该练的手感全练出来。我见过太多人把这100题当成负担到处找现成代码背最后期末上机照样懵。说实话题解可以看但看题解的目的是搞懂思路和边界条件而不是为了混过提交记录。这篇内容适合三类人一是刚开始刷noj、连环境都没配好的新生二是刷了一半卡在某个题型、反复WA却不知道问题出在哪的同学三是想快速系统过一遍常见题库的备考人。我下面会把环境配置、题型思路、高频报错、调试方法四条线串起来讲全程按C/C刷OJ的实际过程来不会给你贴一百段完整代码然后让你背而是告诉你每类题怎么想、怎么避坑、怎么自查。2. 第一道门槛本地C/C开发环境怎么搭2.1 我推荐VS Code加MinGW的搭配别碰IDE洁癖很多人第一题不是死在语法上而是死在“不知道怎么在自己电脑上写代码”。noj本身自带在线编辑和提交功能但你不可能每次都在网页上写完直接交一是调试不方便二是语法提示几乎没有错了只能一遍遍试。所以我建议第一步先把本地环境搭好编辑器用VS Code编译器用MinGW-w64。这套组合免费、轻量、贴近实际开发而且网上资料多出问题容易搜到答案。不推荐一开始就上Visual Studio这种重型IDE虽然它开箱即用但VS的编译器和noj用的GCC系列在严格程度上有些差异有些代码在VS里能过提交到noj上就编译报错。更关键的是OJ训练的是一个“最小化依赖”的写代码习惯你能在纯文本编辑器里把程序写对到了任何环境都不会慌。MinGW-w64的安装不复杂去官方源或者国内镜像下载安装包版本选x86_64-win32-seh这种常见配置就行。装完把MinGW的bin目录加到系统环境变量Path里例如默认安装路径C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin然后打开CMD输入gcc --version如果能输出版本信息说明编译器装好了。2.2 “gcc不是内部或外部命令”到底是什么原因这个报错几乎每届新生都会问。它的直接原因是Windows的CMD不知道去哪找gcc程序根本原因就是上一节说的环境变量Path没配好或者配了之后终端没重启。注意环境变量修改后已经打开的CMD窗口和已经打开的VS Code窗口都读取不到新配置必须全部关掉重开。还有一个常见坑是64位系统装的是32位编译器或者反过来这种一般不影响编译但如果你下载的MinGW版本本身不完整就会缺头文件比如找不到stdio.h这是安装包问题换个完整版本重新装就好。VS Code这边先装两个扩展C/C微软官方出品提供语法提示、跳转和调试支持和Code Runner一键运行的小工具。前者是主力的后者是可选的。写一个hello.c测试一下如果Code Runner能直接输出结果环境就算通了。但我要提醒一句Code Runner只是“快速跑一下”的工具它不做精细调试。等你要查死循环、查变量值的时候必须用VS Code自带的调试功能那才是正经排错手段。真正的编译和调试配置依赖于两个文件tasks.json和launch.json。tasks.json负责告诉VS Code“怎么编译”比如用gcc编译当前打开的C文件并生成exelaunch.json负责告诉VS Code“怎么调试”比如启动哪个exe、从哪里读取输入。新手不需要手写这两份JSON只要在VS Code里打开一个C文件点左侧的“运行和调试”选择C(GDB/LLDB)VS Code会问你怎么配置选gcc生成活动文件它就会自动生成一份可用的tasks.json和launch.json。默认配置通常能用但有一个小地方要改调试前要确保编译任务被触发否则你改了代码再点调试跑的还是旧exe。我的做法是手动把tasks.json里的“label”设为build然后在launch.json的preLaunchTask字段里写上对应的任务名这样每次调试都会先重新编译不会出现“改了代码不生效”的诡异问题。环境搭好后还有一个小细节noj对提交代码的格式不敏感但对你是否使用C还是C是敏感的。题目没说就默认用C提交因为C能向下兼容C的写法你用printf和scanf写C风格代码丢到C编译选项下也能编译。反过来用C编译器编C代码就会报错。所以统一用C提交是最省心的策略。3. 100题怎么拆题型分类与核心思路参考3.1 顺序结构与输入输出类最容易丢分的不是算法是格式这类题目一般是前几题比如“输入两个整数输出它们的和”或者“给定半径求圆面积”。看起来简单但恰恰是WA和PE高发区。新手最容易踩的坑主要有三个。第一个坑是输出的格式控制。题目让你输出“area12.34”你就不能只输出“12.34”少一个前缀或者多一个空格都是Presentation Error。而OJ判定只认字符流严格相等所以你在本地看着“差不多对”机器一眼就能挑出不同。解决办法只有一个逐字比对题目给出的输出样例包括空格、换行、大小写、小数点位数。第二个坑是scanf和printf的格式串与变量类型不匹配。这里有个很隐蔽的问题你定义的是float却用%lf读入或者定义的是double却用%f输出。C语言里float传给printf的变长参数时会被自动转成double所以%f和%lf在printf里效果一样但在scanf里不一样scanf必须严格匹配因为它是按地址写入的%lf告诉它写入8字节%f只写4字节一旦类型不匹配后面的内存可能被覆盖轻则数值错乱重则运行时崩溃。第三个坑是换行。“每行输出结果后换行”这句话很抽象但OJ的规则就是标准输出的内容和样例逐字节相同。所以如果样例输出是三行数字你输出成三个数字挤在一行即使数值全对也是WA。用printf(\n)和用cout endl效果相同但cout endl会刷新缓冲区在大量循环输出时性能略差刷OJ时习惯用printf和\n是更稳妥的选择。3.2 分支、循环与运算符优先级想当然是最贵的习惯到了分支和循环题题目开始有真正的逻辑了比如“判断闰年”“求水仙花数”“计算阶乘”。这类题的核心不是语法而是边界条件。我每次给学生讲都会强调一句话写if的时候想清楚它的反面是什么写循环的时候想清楚最后一次迭代是什么。判断闰年的标准规则是“能被4整除但不能被100整除或者能被400整除”。很多新手写成了if (y % 4 0 y % 100 ! 0)就结束了漏了“能被400整除”这条于是1900年被错误地判定为闰年。这就是典型的边界意识缺失。而OJ的测试点最喜欢放的恰恰就是这些边界值0、1、负数、最大值、特殊的年份。你漏任何一个分支机器都会精准地找到它。再说运算符优先级这个在C/C里是隐藏的送命题。热搜词里有一个很典型的表达式int a 5, b 3, c 4; bool res a b || c ^ b;。很多人一眼扫过去就凭感觉判断结果但实际上一错到底。C/C的优先级里位与的优先级比逻辑或||高逻辑或||的优先级又比异或^高不对真相是^的优先级高于||但低于这里我不直接给最终值而是告诉你一个绝对可靠的解决方式拿不准优先级就加括号。编译器不会嫌你括号多但会毫不留情地按标准顺序解释你省略括号的表达式。刷OJ时像a b || c这种只要出现就容易有歧义最安全的是写成(a b) || c让读代码的人和编译器都不用猜。循环题里还有个经典错误是死循环和差一错误。for (i 0; i n; i)和for (i 0; i n; i)执行的次数差一次而这类差一错误在“求1到n的和”“输出n行星号”这类题里立刻变成WA。我的经验是凡是用到循环变量取数组元素或者控制输出行数的先拿n等于1、2这种最小边界在纸上推一遍确认循环次数再提交。3.3 数组、字符串与排序这里开始区分“会写”和“写好”数组和字符串是100题里真正拉开差距的地方。一维数组的题往往就是“排序”“求最大最小值”“逆序输出”二维数组的题则是矩阵运算、杨辉三角、回型填数。这些题算法思路不难难在两点数组越界和下标错位。数组越界是C/C里最坑的问题。它在编译时不报错在本地跑可能也没事但到了OJ的运行时检查下就会报Runtime Error。举个例子int a[100]; 你循环里写了for(i 0; i 100; i) a[i] i;这多写的一次a[100]就是越界它可能恰好写到了相邻变量的内存把别的变量改坏了如果在提交时被系统检测到直接RE。新手的思维误区是“越界最多读个垃圾值”实际上越界写是未定义行为什么后果都可能发生最好的习惯是数组长度宁可多开10个也不开正正好比如题里说元素个数最多100你就开a[105]或a[110]这种几字节的浪费在OJ上没有人会扣你分但能帮你挡掉一批莫名其妙的越界。字符串是另一个重灾区。C语言里字符串本质是字符数组结尾必须有一个\0。很多新手定义一个char s[10]然后去读一个长度为10的字符串等于是往10个格子里放11个东西\0无处安放于是它越界了。在OJ题里这种情况常见的报警是“Runtime Error”或者“Wrong Answer但本地结果正常”。还有gets()这个函数已经被C标准移除了因为它的缓冲区长度无法限制极易造成缓冲区溢出。刷OJ时用scanf(%s, s)读不含空格的单词没问题但要读整行含空格的文本用gets还不如用fgets(s, sizeof(s), stdin)后者明确指定最大读取长度安全可控。字符串函数的使用也容易出错。strlen(s)返回的是不包括\0的长度strcmp(a, b)返回0表示相等strcpy(dest, src)不检查目标缓冲区大小。这些函数都在string.h里如果用C的string类则要注意头文件写#include 而不是#include 。很多人在no j上把#include bits/stdc.h当成万能头文件在本地VS Code里可能能编过但noj的编译环境不一定支持保险起见还是按标准头文件一个个写。排序题在100题里几乎是必考的。冒泡排序和选择排序必须能手写而且要能说清楚每轮做了什么。我见过太多人背了sort()就觉得自己会排序了结果题目改成“按结构体某个字段排序”就傻眼。我的建议是先能手写冒泡和选择然后再学用C标准库的sort()用sort的时候要自己写比较函数或lambda表达式。排序题的边界在于元素个数为0或1时程序不能崩比较函数的返回值语义不能写反——如果是升序左小于右时返回负数这里写反了排序结果就完全对调。3.4 函数、递归与指针理解C/C的分水岭100题刷到后半部分函数题和递归题开始出现。初学者最容易卡在这里不是因为题难而是因为对“函数调用时到底发生了什么”没有真实感。写函数第一要注意的是返回值类型和参数类型。你写一个返回int的函数却能走到没有return的分支这在C里是编译警告而不是错误但运行时返回的是一个不确定的垃圾值本地可能碰巧是0OJ上就变成不明不白的WA。一个默认的检查标准所有分支都要有明确的return。再说参数传递C里默认是值传递函数内改形参不会影响实参。如果你要写swap(a, b)来交换两个外部变量必须用指针void swap(int *x, int *y) { int t *x; *x *y; *y t; }调用时swap(a, b)。这个知识点几乎是必考而且很多题的解法都依赖它。递归题的核心是递归三要素终止条件、递归调用、问题规模减小。拿经典的最大公约数来说用欧几里得算法int gcd(int a, int b) { return b 0 ? a : gcd(b, a % b); }。这里终止条件是b等于0递归调用是gcd(b, a % b)问题规模每步都在减小。很多新手写递归调不出来原因不是逻辑错而是终止条件写错或者根本没写结果栈溢出直接RE。递归还有一个隐含坑某些递归写法在n较大时调用层数过深栈空间不够同样崩掉。比如用递归写斐波那契数列n 50时递归树庞大程序基本卡死。这种题不要硬递归要么用循环要么加记忆化。指针本身又是另一个大坑。在入门阶段你只需要记住三点指针存的是地址p是对地址解引用拿到值x是取变量x的地址。数组名本身就是一个指向首元素的指针常量a[i]等价于(a i)。刷题时关于指针最常见的场景就是上面说的swap函数和函数参数传递以及结构体数组的排序比较函数。不要指望靠背概念过关手写几个指针小程序跑通自然就明白了。4. 高频报错与排查记录把这些错误翻译成人话刷100题的过程本质上就是和OJ的判定结果打交道。我按出现频率把报错类型整理一下方便你对症下药。判定缩写全称含义最常见的触发原因CECompile Error编译错误语法问题、头文件缺失、main写错RERuntime Error运行时错误数组越界、除以0、递归栈溢出WAWrong Answer答案错误逻辑边界错、精度错、格式串错TLETime Limit Exceeded超时算法复杂度过大、死循环、输入方式慢PEPresentation Error格式错误空格、换行、大小写与样例不一致ACAccepted通过无编译错误里我见过最多的三类是中英文标点混用比如写了中文分号“”、中文括号“”头文件漏写或者写错比如用了strlen却只写了#include stdio.hmain函数写成了void main()而标准写法是int main()并return 0。C/C标准里main必须返回intvoid main()在有的编译器上能过但在noj的严格编译环境下很可能直接报错。这个细节我每次都要强调因为太常见。运行时错误里除以0最典型。判断素数的循环里如果n等于0n % i直接炸还有求平均分的题如果数据里可能没有有效项你却直接除以个数也炸。数组越界前面已经说过。还有一个隐蔽的RE是递归函数没有终止条件比如斐波那契递归忘了自适应出口程序会无限递归直到栈空间耗尽——这种RE在本地跑甚至会假死机一定要在递归函数开头检查终止条件是否一定会到达。答案错误WA是最难排查的。它意味着程序能跑、不崩溃但输出结果不对或者只对了一部分。最常见的两种边界值没处理比如“求1到n所有奇数的和”这题n 0时你的程序可能输出错误的是从1开始加另一个是浮点数精度判断两个浮点数是否相等不要用而要用abs(a - b) 1e-6。OJ题目的浮点数答案经常比7位小数还多printf默认只输出6位有时候就差最后一位四舍五入。用printf(%.2lf, x)可以指定输出两位小数这个格式串在OJ题里出现频率极高。超时TLE在100题里不算多但一旦出现就说明你的算法复杂度有问题而不是机器太卡。比如排序题如果你用最简单的冒泡去排10万个数的序列多半会TLE这时候要换更快的排序方法或者直接用标准库的sort。还有一种假性TLE是输入方式太慢C里cin和cout默认要同步C标准IO性能远低于scanf和printf。你在循环里拼命cin读几万个数据很可能被卡掉。在main函数开头加一句ios::sync_with_stdio(false); cin.tie(0);可以关闭同步让cin快一些但最稳妥的做法还是直接用scanf和printf这两个在OJ上的性能是公认的稳。格式错误PE其实是最冤枉的错。程序答案完全正确就是多打了一个空格或少打了一个换行。我记得有一次我帮人看题他输出的是每行数据后面多了一个空格题目样例里没有PE了好几次才发现。排查PE的方法是把你的输出和样例输出用diff工具对比或者在本地把输出重定向到文件里逐字符看差异。养成习惯循环输出时判断一下是不是最后一个元素最后一个元素后面不跟空格直接换行。5. 调试方法自查清单如何减少无意义的提交次数5.1 VS Code断点调试的正确打开方式很多同学刷OJ是“写代码、提交、错了、瞎改、再提交”循环往复提交记录红成一片。想要有效排查就得学会看变量值而不是靠眼睛瞪代码。VS Code里打断点非常简单在代码行号左侧单击出现红点即断点然后按F5启动调试。程序会运行到断点那一行暂停这时你能在左侧变量面板里看到当前所有局部变量的值上方工具栏有“继续F5”“单步跳过F10”“单步进入F11”“单步跳出ShiftF11”四个按钮。基本用法是代码跑飞了或者结果不对就在可疑位置前面打一个断点然后单步往下走一行一行观察变量怎么变化。比如怀疑循环边界有错就在循环体内部打断点看i从哪开始、到哪结束一次就能定位。调试时有个小提醒VS Code调试必须配合launch.json和tasks.json正确配置否则按F5会问你要环境。如果配置好了但调试窗口里没有出现变量检查一下是不是断点打在了注释行或空行上。另外用Code Runner运行程序的输出结果和调试运行的结果可能不同因为调试器的启动目录可能与源文件目录不一致导致文件读取失败。这种“代码本地能跑、OJ上WA”的情况十有八九是路径问题或未初始化变量问题。5.2 提交前10条自检减少WA次数刷题越到后面你越会明白WA不可怕可怕的是不知道错在哪。下面这10条自检项是刷到中期以后我在每次提交前都会快速过一遍的建议直接当模板用。是否读懂了输入格式多个输入是同一行用空格隔开还是换行分隔用scanf读取时格式串是否和输入描述完全一致。是否考虑过输入为0、1、负数、最大值的边界情况比如数组题输入n为0时程序还能不能正常退出。数组长度是否足够且略有余量字符串结尾的\0位置是否安全。变量是否都初始化了循环里用到的累加器、计数器有没有在每轮重新清零。printf的格式串和变量类型是否一一对应double对应%lf还是%f整数对应%d还是%ld。浮点数结果是否按题目要求保留小数位数有没有直接输出一个很长的未格式化double。输出有没有多余的空格、空行或者Ascii字符最后一行是否换了行。函数所有分支是否都有return递归终止条件是否一定会触发。有没有使用非标准头文件或者非标准写法比如#include bits/stdc.h在某些OJ的C模式编译下可能失败。算法在最坏数据规模下大约执行多少步1亿步以上基本会TLE需要优化。我每次卡题时都会发现问题往往就出在以上某一条上而且越基础的越容易忽略。你在提交前花30秒过一遍这10条至少能砍掉一半的无效提交。关于逻辑运算符的优先级再做一次提醒。位运算符、|、^的优先级整体低于关系运算符但高于逻辑与而逻辑或||的优先级最低。也就是说int res a b || c ^ d这种表达式的解析顺序和你直观以为的完全不同。我处理这种题的方法很简单写任何涉及到混合运算符的表达式一律加括号明确运算顺序不要考验自己的记忆力也不要考验读题者的理解力。最后说点题外话100题刷完你真的会编程了吗未必。但你会明显感觉到自己“会读题了”——拿到一个需求脑子里会自动出现数据结构、边界条件、可能的坑然后手比脑子快地把代码写出来。这种手感是看多少题解都替代不了的。我在刷题过程中最大的体会是OJ不会帮你纠正坏习惯它只会无声地告诉你“错了”然后等你自己找出原因。这个过程很折磨人但每撑过一次你就扎实一分。最后分享一个我个人很喜欢的小技巧遇到卡了半小时还没有头绪的题先把代码放到一边拿笔在草稿纸上把输入样例代入手算出期望输出再一行一行对着代码看它走了哪条路。很多WA不是因为代码写得不对而是因为你对题目的理解走偏了重新读题比重新改代码更有效。这100题说多不多说少不少把它们当成磨刀石后面不管是期末上机、考研机试还是工作笔试你都会感谢现在认真刷题的自己。
企业数字化 ERP 产品动态
相关推荐
在百度做网站怎么做?3个维度搞定建站报价与流量闭环 在百度做网站怎么做?3个维度搞定建站报价与流量闭环 别信那些“一键生成”的鬼话,模板网站看着省事,真上线全是坑,丑到客户不敢信,转化率低到想砸键盘。 很多甲方老板一上来就问: 在百度做网站怎么做… · 2026/9/27 5:23:46
西安企业网站建站图解步骤:小白不写代码也能搞定 西安企业网站建站图解步骤:小白不写代码也能搞定 自己不会代码想做网站,这大概是很多西安中小企业主或创业者最头疼的事。找外包怕被坑,自己学又觉得太难,网上教程东一块西一块,看着就头晕。别慌,今天这篇【图解步骤】就是专门给咱们这种“技术小白”准… · 2026/9/27 5:23:40
Java 阻塞队列——实现生产者消费者模型 一、什么是生产者消费者模型生产者消费者(Producer-Consumer)是多线程里最经典的设计模型,核心就是解耦、削峰、并行。 角色划分:生产者:负责产生数据/任务,往队列里放;消费者:负责处… · 2026/9/27 5:23:27
Type-C线缆E-Mark芯片详解:从PD协议到选型调试实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:43:03
ScanNet数据集下载指南:从申请到脚本实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:42:57
Jlink读MCU固件全流程:从SWD连接到Flash读取的实战指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:42:57
笔记本EC芯片揭秘:从键盘矩阵到电源管理的嵌入式控制器 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:42:57
LIN Slave一致性测试实战:CANoe自动化测试环境搭建与避坑指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/27 6:42:33
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01
MATLAB雷达信号脉冲压缩仿真:LFM线性调频、匹配滤波与距离分辨率实现 简介:这套Matlab仿真工具完整呈现雷达信号脉冲压缩过程,从线性调频(LFM)信号生成、目标回波仿真到匹配滤波压缩处理均有可运行代码支撑,面向电子信息工程、计算机、数学等专业学生,适用于课程设计、期末大作… · 2026/9/27 0:00:01
汕头网站建设制作厂家避坑指南:5大注意事项救急 汕头网站建设制作厂家避坑指南:5大注意事项救急 改个需求建站公司拖一周,这种憋屈事我见得太多了。 很多汕头老板找本地建站团队,签合同前看着方案挺美,一上线就变脸。 今天不聊虚的,直接拆解找 汕头网站建设制作厂家 时的5个核心 注意事项… · 2026/9/27 0:00:01
多模态虚假新闻检测实战:BERT+ResNet双塔与对比学习 简介:基于PyTorch的多模态虚假新闻检测项目完整代码包,面向自然语言处理与计算机视觉交叉方向的开发者、科研人员及毕业设计选题者,解决社交媒体中文本与图像联合识别虚假新闻的问题。系统以BERT预训练模型提取文本语义特征,以Res… · 2026/9/27 0:00:01