当前位置: 首页 > article >正文

zwq的模板

为了使zwq的编码习惯更规范方便与不同模板之间的配合特此开始这一项宏大的工程把各种模板综合起来并使用统一的变量名未来将会做很多修改可能比较混乱。每份代码都是笔者手敲的。目录一.代码模板0.O30.freopen0.快读二.数学和组合计数1.快速幂2.预处理fac和inv3.定义求组合数4.杨辉三角预处理组合数5.Lucas定理6.gcd和lcm7.自己实现的popcount8.lowbit9.线性筛素数10.埃氏筛11.拉格朗日插值法三.图论相关1.并查集2.Kruscal3.Prim4.Floyd5.Dijkstra6.SPFA7.ST表求LCA8.树剖求LCA9.拓扑排序四.数据结构Data Structure,DS五.字符串相关1.字符串双hash2.Trie六.杂项和基础算法1.离散化2.二分答案一.代码模板#include bits/stdc.h #define ll long long #define db(x) do{ cerrx ; }while(0) // #define linux using namespace std; #ifdef linux #define getchar getchar_unlocked #endif inline ll read(){ ll x0;int f1; char cgetchar(); while(c0||c9){ if(c-) f-1; cgetchar(); } while(c0c9){ xx*10c-0; cgetchar(); } return x*f; } void fre(){ freopen(a.in,r,stdin); freopen(a.out,w,stdout); } signed main(){ // fre(); return 0; }0.O3#pragma GCC optimize(O3) #pragma GCC optimize(Ofast) #pragma GCC target(avx,avx2,fma)0.freopenvoid fre(){ freopen(a.in,r,stdin); freopen(a.out,w,stdout); }0.快读// #define linux #ifdef linux #define getchar getchar_unlocked #endif inline ll read(){ ll x0;int f1; char cgetchar(); while(c0||c9){ if(c-) f-1; cgetchar(); } while(c0c9){ xx*10c-0; cgetchar(); } return x*f; }二.数学和组合计数1.快速幂ll ksm(ll a,int b){ ll ans1; while(b){ if(b1) (ansans*a)%mod; (a*a)%mod; b1; } return ans%mod; }2.预处理fac和invvoid init(){ fac[0]1; for(int i1;iN-1;i) fac[i](fac[i-1]*i)%mod; inv[N-1]ksm(fac[N-1],mod-2); for(int iN-2;i0;i--) inv[i](inv[i1]*(i1))%mod; }3.定义求组合数ll C(int n,int m){ if(nm||n0||m0) return 0; return fac[n]*inv[m]%mod*inv[n-m]%mod; }4.杨辉三角预处理组合数void init(){ for(int i0;in;i) C[i][i]C[i][0]1; for(int i0;in;i) for(int j1;jn;j) C[i][j](C[i-1][j-1]C[i-1][j])%mod; }5.Lucas定理ll lucas(int n,int m){ if(m0) return 1; if(nm) return 0; return C(n%mod,m%mod)*lucas(n/mod,m/mod)%mod; }6.gcd和lcmll gcd(ll a,ll b){ return b0?a:gcd(b,a%b); } ll lcm(ll a,ll b){ return a/gcd(a,b)*b; }7.自己实现的popcountint lowbit(int x){ return x(-x); } int popcount(int x){ int cnt0; while(x){ cnt; x-lowbit(x); } return cnt; }8.lowbitint lowbit(int x){ return x(-x); }9.线性筛素数vector int prime; bool is[N]; void Prime(){ prime.push_back(0); memset(is,1,sizeof(is)); is[1]0; for(int i2;in;i){ if(is[i]) prime.push_back(i); for(int j1;jprime.size()-1i*prime[j]n;j){ is[i*prime[j]]0; if(i%prime[j]0) break; } } }10.埃氏筛你都会线性筛了学埃氏筛干嘛11.拉格朗日插值法int x[2010],y[2010]; ll sum0; for(int i1;in;i){ ll fzy[i]%mod,fm1; for(int j1;jn;j){ if(ij) continue; fzfz*(k-x[j])%mod; fmfm*(x[i]-x[j])%mod; } sum(sumfz*inv(fm)%modmod)%mod; }三.图论相关1.并查集for(int i0;in;i) fa[i]i; int getfa(int x){ return fa[x]x?x:fa[x]getfa(fa[x]); } void merge(int x,int y){ int xxgetfa(x),yygetfa(y); if(xxyy) return ; fa[xx]yy; }2.Kruscalstruct node{ int x; int y; int v; }a[200010]; int fa[N]; int getf(int x){return fa[x]x?x:fa[x]getf(fa[x]); } bool mycmp(node x,node y){ return x.vy.v; } int Kruskal(){ sort(a1,ak1,mycmp); for(int i1;in;i) fa[i]i; int ans0,cnt0; for(int i1;ik;i){ int xa[i].x,ya[i].y,va[i].v; xgetf(x),ygetf(y); if(xy) continue; fa[x]y; ansv; cnt; if(cntn-1) break; } if(cnt!n-1) exit(0); return ans; }3.Prim我不会4.Floydint f[985][985]; memset(f,0x3f,sizeof(f)); for(int i1;in;i) f[i][i]0; for(int k1;kn;k) for(int i1;in;i) for(int j1;jn;j) f[i][j]min(f[i][j],f[i][k]f[k][j]);5.Dijkstraint dis[N]; bool vis[N]; vector pair int , int son[N]; void Dijkstra(){ memset(dis,0x3f,sizeof(dis)); memset(vis,false,sizeof(vis)); priority_queue pair int , int qu; dis[1]0; qu.push({0,1}); while(qu.size()){ int xqu.top().second; qu.pop(); if(vis[x]) continue; vis[x]1; for(auto zzz:son[x]){ int yzzz.first,wzzz.second; if(dis[y]dis[x]w){ dis[y]dis[x]w; qu.push({-dis[y],y}); } } } }6.SPFAint cnt[5010],dis[5010]; bool vis[5010]; vectorpairint ,int son[5010]; void SPFA(){ memset(dis,0x3f,sizeof(dis)); queue int q; q.push(0); dis[0]0,vis[0]1,cnt[0]; while(q.size()){ int xq.front(); q.pop(); vis[x]0; for(auto zzz:son[x]){ int yzzz.first; int wzzz.second; if(dis[y]dis[x]w){ dis[y]dis[x]w; if(!vis[y]){ vis[y]1,cnt[y]; q.push(y); if(cnt[y]n1){ coutNO; exit(0); } } } } } }7.ST表求LCAint s,dep[N],f[N][25]; vector int son[N]; void dfs(int x,int fa){ dep[x]dep[fa]1; f[x][0]fa; for(auto y:son[x]){ if(yfa) continue; dfs(y,x); } } int lca(int x,int y){ if(dep[y]dep[x]) swap(x,y); for(int i23;i0;i--) if(dep[f[y][i]]dep[x]) yf[y][i]; if(xy) return x; for(int i23;i0;i--) if(f[x][i]!f[y][i]) xf[x][i],yf[y][i]; return f[x][0]; } dfs(s,0); for(int j1;j23;j) for(int i1;in;i) f[i][j]f[f[i][j-1]][j-1];8.树剖求LCA我还不会9.拓扑排序int n,boat_du[N]; vector int son[N]; void Topsort(){ queue int qu; for(int i1;in;i) if(!boat_du[i]) qu.push(i); while(qu.size()){ int xqu.front(); qu.pop(); for(auto y:son[x]) if((--boat_du[y])0) qu.push(y); } } boat_du[x];四.数据结构Data Structure,DS五.字符串相关1.字符串双hashconst int mod119491001; const int mod2998244353; const int pp1131; const int pp213331; void init(){ p1[0]1; for(int i1;in;i){ p1[i]p1[i-1]*pp1; p1[i]%mod1; } for(int i1;in;i){ h1[i]h1[i-1]*pp1(s[i]-a); h1[i]%mod1; } p2[0]1; for(int i1;in;i){ p2[i]p2[i-1]*pp2; p2[i]%mod2; } for(int i1;in;i){ h2[i]h2[i-1]*pp2(s[i]-a); h2[i]%mod2; } } pairll,ll get(int x,int y){ int ans1(h1[y]-(h1[x-1]*p1[y-x1])%mod1mod1)%mod1; int ans2(h2[y]-(h2[x-1]*p2[y-x1])%mod2mod2)%mod2; return {ans1,ans2}; } for(int len1;lenn;len){ for(int i1;i2*len-1n;i){ auto hs1get(i,ilen-1); auto hs2get(ilen,i2*len-1); } }2.Trieint len,idx,cnt[N],tr[N][70]; ll getid(char c){ if(cAcZ) return c-A; else if(cacz) return c-a26; else return c-052; } void add(string s){ lens.size(); s s; int p0; for(int i1;ilen;i){ int idgetid(s[i]); if(!tr[p][id]) tr[p][id]idx; ptr[p][id]; cnt[p]; } } ll ask(string s){ lens.size(); s s; int p0; for(int i1;ilen;i){ int idgetid(s[i]); if(!tr[p][id]) return 0; ptr[p][id]; } return cnt[p]; }六.杂项和基础算法1.离散化for(int i1;in;i) a[i]read(),b[i]a[i]; sort(a1,an1); int cntunique(a1,an1)-a-1; for(int i1;in;i) b[i]lower_bound(a1,acnt1,b[i])-a;2.二分答案//最小 while(l1r){ int mid(lr)1; if(check(mid)) rmid,ansr; else lmid1; } if(check(l)); if(check(r)); //最大 while(l1r){ int mid(lr)1; if(check(mid)) rmid-1,ansr; else lmid; } if(check(r)); if(check(l));

相关文章:

zwq的模板

为了使zwq的编码习惯更规范,方便与不同模板之间的配合,特此开始这一项宏大的工程,把各种模板综合起来,并使用统一的变量名,未来将会做很多修改,可能比较混乱。每份代码都是笔者手敲的。 目录 一.代码模板 …...

Qwen2-VL-2B-Instruct模型压缩实战:使用量化工具减小部署体积与加速推理

Qwen2-VL-2B-Instruct模型压缩实战:使用量化工具减小部署体积与加速推理 最近在折腾一个边缘设备上的视觉项目,用上了Qwen2-VL-2B-Instruct这个多模态模型。模型效果确实不错,但原始大小接近8GB,推理速度也慢,在资源有…...

ngx_queue_sort

1 定义 ngx_queue_sort 函数 定义在 ./nginx-1.24.0/src/core/ngx_queue.cvoid ngx_queue_sort(ngx_queue_t *queue,ngx_int_t (*cmp)(const ngx_queue_t *, const ngx_queue_t *)) {ngx_queue_t *q, *prev, *next;q ngx_queue_head(queue);if (q ngx_queue_last(queue)) {r…...

GLM-OCR与LSTM网络融合实践:提升连续手写体文本识别效果

GLM-OCR与LSTM网络融合实践:提升连续手写体文本识别效果 最近在折腾一个挺有意思的项目,朋友那边有个需求,要识别一些手写的病历和处方。你懂的,医生那笔迹,龙飞凤舞,连笔连得飞起,传统的OCR工…...

Java 开发 日志技术

1.概述为什么要在程序中记录日志呢?便于追踪应用程序中的数据信息、程序的执行过程。便于对应用程序的性能进行优化。便于应用程序出现问题之后,排查问题,解决问题。便于监控系统的运行状态。2.日志框架JUL:这是JavaSE平台提供的官…...

【2.0 教程】第 7 章:仪表盘,一眼看全局

🎉NocoBase V2 系列教程已在官网-教程专栏发布,点击链接前往查看。 https://docs.nocobase.com/cn/tutorials/v2/ 已发布教程速览: NocoBase 2.0 入门教程 —— IT 工单系统 第一章:认识 NocoBase — 5 分钟跑起来 第二章&…...

如何全面移除开源工具残留?四步环境净化实施方案

如何全面移除开源工具残留?四步环境净化实施方案 【免费下载链接】ralph-claude-code Autonomous AI development loop for Claude Code with intelligent exit detection 项目地址: https://gitcode.com/GitHub_Trending/ra/ralph-claude-code 一、问题诊断…...

避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程

避坑指南:解决多Livox雷达在ROS中TF树报错‘extrapolation into the past’的完整流程 当你在ROS系统中整合多个Livox雷达时,突然遭遇[WARN] Lookup would require extrapolation into the past的警告信息,Rviz中点云显示异常或TF树断裂&…...

比话降AI使用教程:从注册到拿到合格检测报告全流程详解

比话降AI使用教程:从注册到拿到合格检测报告全流程详解 不少同学找到比话降AI,是因为看到了那个承诺:AI率大于15%全额退款,还退检测费。 这个承诺确实不一样。其他工具一般只说"效果不好可重做",但重做了几…...

Qwen2.5-72B-GPTQ-Int4惊艳效果:128K上下文长文档摘要与重点提取

Qwen2.5-72B-GPTQ-Int4惊艳效果:128K上下文长文档摘要与重点提取 1. 模型概述与核心能力 1.1 Qwen2.5系列模型简介 Qwen2.5是通义千问大模型系列的最新版本,提供了从0.5B到72B不同参数规模的预训练和指令调优模型。相比前代Qwen2,这个版本…...

wangEditor 5移动端兼容性深度解析:终极跨平台富文本编辑实战指南

wangEditor 5移动端兼容性深度解析:终极跨平台富文本编辑实战指南 【免费下载链接】wangEditor wangEditor —— 开源 Web 富文本编辑器 项目地址: https://gitcode.com/gh_mirrors/wa/wangEditor 在移动优先的时代,富文本编辑器的移动端兼容性已…...

如何高效使用AI音频分离神器:Ultimate Vocal Remover GUI完全指南

如何高效使用AI音频分离神器:Ultimate Vocal Remover GUI完全指南 【免费下载链接】ultimatevocalremovergui 使用深度神经网络的声音消除器的图形用户界面。 项目地址: https://gitcode.com/GitHub_Trending/ul/ultimatevocalremovergui Ultimate Vocal Rem…...

VideoAgentTrek-ScreenFilter效果展示:Zoom/Teams会议窗口自动边界检测

VideoAgentTrek-ScreenFilter效果展示:Zoom/Teams会议窗口自动边界检测 你有没有遇到过这样的场景?在录制线上会议、网课或者远程演示时,屏幕上同时开着好几个窗口——Zoom会议、Teams聊天、PPT演示、还有一堆浏览器标签页。后期剪辑时&…...

Pixel Dream Workshop 对比测试:不同采样器与模型版本的出图效果

Pixel Dream Workshop 对比测试:不同采样器与模型版本的出图效果 1. 测试背景与目的 在AI绘画领域,采样器和模型版本的选择直接影响最终生成效果。本次测试旨在通过严谨的对比实验,帮助用户理解Pixel Dream Workshop中不同参数组合的实际表…...

AIO PathProb 时序概率路径系统

本文由(拓世网络技术开发工作室)技术支持,欢迎共同开发第一部分:伪代码 / 算法描述(给算法/工程侧)1. 全局定义(状态与概率)import numpy as npfrom dataclasses import dataclass# …...

电容选型实战指南

电容选型这件事,比电阻要复杂得多。电阻选错了,大多数情况是“烧了”或“不准了”;电容选错了,可能直接导致系统复位、EMI超标、寿命骤减、甚至爆炸。电容是电路中最“敏感”的元件之一,它的选型需要在电气性能、温度特性、寿命、成本、体积之间反复权衡。 一、 选型前的四…...

Xilinx ZYNQ/MPSOC开发者必看:如何为你的PetaLinux 2022.1工程搭建一个高效的本地缓存服务器(sstate downloads)

Xilinx ZYNQ/MPSOC团队开发实战:构建企业级PetaLinux缓存服务器集群 当五个工程师同时对着公司服务器发起全量编译时,机房里传出的风扇轰鸣声总让我想起波音747起飞——这是我们去年某个ZYNQ UltraScale项目的日常。直到我们在本地部署了分布式sstate缓存…...

UniHacker技术探索:Unity引擎全功能体验与开源研究指南

UniHacker技术探索:Unity引擎全功能体验与开源研究指南 【免费下载链接】UniHacker 为Windows、MacOS、Linux和Docker修补所有版本的Unity3D和UnityHub 项目地址: https://gitcode.com/GitHub_Trending/un/UniHacker 一、核心价值解析:技术研究视…...

AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南

AtlasOS系统Xbox控制器驱动问题:三步解决方案与预防指南 【免费下载链接】Atlas 🚀 An open and lightweight modification to Windows, designed to optimize performance, privacy and security. 项目地址: https://gitcode.com/GitHub_Trending/atl…...

如何让零基础快速掌握3D资产生成:颠覆式AI工具Hunyuan3D-2实战指南

如何让零基础快速掌握3D资产生成:颠覆式AI工具Hunyuan3D-2实战指南 【免费下载链接】Hunyuan3D-2 High-Resolution 3D Assets Generation with Large Scale Hunyuan3D Diffusion Models. 项目地址: https://gitcode.com/GitHub_Trending/hu/Hunyuan3D-2 技术…...

乙巳马年·皇城大门春联生成终端W数据库课程设计案例:用户作品管理平台

乙巳马年皇城大门春联生成终端W数据库课程设计案例:用户作品管理平台 又到了一年一度的数据库课程设计选题季,你是不是还在为“学生信息管理系统”、“图书管理系统”这类老掉牙的题目发愁?想找个既有技术深度,又能结合当下热点&…...

失真度测量仪校准 失真度测量仪校准检定装置应用方案 失真度仪校准器 失真度仪检定装置

在电子测量、计量检定、设备运维及科研生产等领域,失真度仪是检测信号纯净度的核心仪器,其测量精度直接决定产品质量管控、设备运维可靠性及科研数据准确性。但实际应用中,传统校准设备普遍存在精度不足、操作繁琐、场景适配性差、数据管理不…...

DAMOYOLO-S与数据库联动:检测结果实时入库与查询

DAMOYOLO-S与数据库联动:检测结果实时入库与查询 你有没有想过,当AI模型在摄像头前“看到”一个人、一辆车时,这些信息除了在屏幕上显示一下,还能做什么?如果这些“看见”的瞬间——谁、在哪儿、什么时候、有多确定—…...

终极指南:如何用jQuery.Flipster打造惊艳的3D封面流效果

终极指南:如何用jQuery.Flipster打造惊艳的3D封面流效果 【免费下载链接】jquery-flipster Responsive, CSS3, touch-enabled jQuery Coverflow plugin. 项目地址: https://gitcode.com/gh_mirrors/jq/jquery-flipster 还在为网站轮播图太单调而烦恼吗&#…...

Vant4移动端电商实战:用Card和Cell组件打造订单详情页(附完整代码)

Vant4移动端电商实战:用Card和Cell组件打造订单详情页(附完整代码) 在移动电商应用开发中,订单详情页是用户查看购买信息的重要界面。Vant4作为轻量、可靠的移动端组件库,其Card和Cell组件能够快速构建清晰、美观的订单…...

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解)

用Python和C语言两种解法,搞定ZZULIOJ 1091‘爬楼梯’问题(附多实例测试详解) 当你第一次看到这个题目时,可能会觉得它只是一个简单的递归问题。但深入思考后会发现,这实际上是动态规划的经典案例——斐波那契数列的变…...

InstructPix2Pix真实体验:保留原图结构的智能修图,到底有多好用?

InstructPix2Pix真实体验:保留原图结构的智能修图,到底有多好用? 1. 颠覆传统的修图体验 作为一名长期与图像处理打交道的技术从业者,我第一次使用InstructPix2Pix时的感受可以用"惊艳"来形容。传统的图像编辑工具需要…...

16张动图解析网络基础原理与应用

16张动图趣味解读网络原理1. 网络基础概念1.1 网络的定义与作用网络存在于日常生活中的每一个角落,电脑、打印机、手机、电视等设备都属于网络设备。通过网络连接这些设备,可以实现数据传输和共享,让工作生活更加便捷。典型的网络应用场景包括…...

AMD平台黑苹果智能配置引擎:从技术困境到自动化解决方案的完整指南

AMD平台黑苹果智能配置引擎:从技术困境到自动化解决方案的完整指南 【免费下载链接】OpCore-Simplify A tool designed to simplify the creation of OpenCore EFI 项目地址: https://gitcode.com/GitHub_Trending/op/OpCore-Simplify 在传统黑苹果配置领域&…...

Harness设计——Anthropic实战:规划器、生成器、评估器三角色协作详解

Harness 设计是实现智能体编码前沿性能的关键。本文介绍了Anhtropic如何推动 Claude 在前端设计和长期自主软件开发方面更进一步。 有两个相互关联的问题: 让 AI Agent 生成高质量的前端设计。 让它无需人工干预就能构建完整的应用程序。 这项工作源于我们早期在前端设计技能…...