ACM中级篇必备知识

ACM模式输入输出攻略 | C++篇 本文内容干货非常非常多,从笔试面试环境的要点,到C++输入输出的具体函数,再到几乎覆盖全部情况的ACM模式写法,最后也给出了链表和二叉树的定义和输入输出。 阅读详情

徐州summer camp

待学课程是否已学
后缀数组false
线段树false
KMP以及拓展KMPfalse
RMQfalse
背包九讲false
exgcdtrue
梅森素数false
网络流false
setfalse
欧筛true
高斯消元false
FFTfalse
Miller-Rabin素数测试false
欧拉图ing
哈密顿图ing
计算几何ing

欧拉图

  1. 性质
    欧拉回路的存在性判定:当且仅当无向图联通且每个顶点度数都为偶数时,此图为欧拉图。
    欧拉图的判定: 欧拉回路至多允许两个度为基数的定点出现。
  2. 实现模板
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
#include<cmath>
#include<queue>
#include<vector>
#define ll long long
using namespace std;
const int maxn=100010;
int head[maxn],ver[maxn],nt[maxn],tot;
int st[maxn],ans[maxn];
bool vis[maxn];
int n,m,top,t;

void add(int x,int y)
{
   ver[++tot]=y,nt[tot]=head[x],head[x]=tot;
}

void euler(void)
{
   st[++top]=1;
   while(top>0)
   {
       int x=st[top],i=head[x];
       while(i&&vis[i]) i=nt[i];

       if(i)
       {
           st[++top]=ver[i];
           vis[i]=vis[i^1]=true;
           head[x]=nt[i];
       }
       else
       {
           top--;
           ans[++t]=x;
       }
   }
}

int main(void)
{
   cin>>n>>m;
   tot=1;

   int x,y;
   for(int i=1;i<=m;i++)
   {
       scanf("%d%d",&x,&y);
       add(x,y);
       add(y,x);
   }
   euler();
   for(int i=t;i;i--) printf("%d\n",ans[i]);

   return 0;
}

欧拉筛法

  1. 原理
    每个数均被最小质因数所筛掉,并且只被筛一次,达到线性筛的目的。
  2. 模板
const int MAXN=1000000;
int prime[MAXN];
bool isprime[MAXN];
void oula()
{
   int count=1;
   for(int i=2;i<=MAXN;i++){
   	if(!isprime[i]) prime[count++]=i;
   	for(int j=1;j<count;j++){
   		if(i*prime[j]>MAXN) break;
   		isprime[i*prime[j]]=1;
   		if(!i%prime[j]) break;
   	}
   }
}

exgcd

  1. 原理
    首先我们要先了解贝祖定理
    即如果a、b是整数,那么一定存在整数x、y使得ax+by=gcd(a,b)。
    换句话说,如果ax+by=m有解,那么m一定是gcd(a,b)的若干倍。
    则我们可以求对于gcd(a,b)的解x,y,当x=1,y=0时有表达式a1+b0=gcd(a,b),
    但此时a,b不为当初的那个a,b而是经过gcd转化过的a,b可以通过gcd的递归反向转化出原来的x,y
    这时我们可以试着去寻找这两个相邻状态的关系:

首先我们知道:a%b=a-(a/b)b;带入:
b
x1 + (a-(a/b)b)y1
= b
x1 + a
y1 – (a/b)by1
= ay1 + b(x1 – a/by1) = gcd 发现 x = y1 , y = x1 – a/by1
这样就可以求值了。
(此部分参考https://blog.youkuaiyun.com/destiny1507/article/details/81750874这位博主的文章,讲的很详细。)

  • 用途
    求最小正整数的解
    对于原式ax+by=m而言,我们可以求得特解x1,y1
    (此x1,y1是满足于a1*x1+b1*y1=gca(a,b)的解)
    可以简单推导出a*(x1+k*b/gcd)+b*(y1-k*a/gcd)=m,则x,y通解为x1+k*b,y1-k*a(k可以为任意整数)
    x=(x%b+b)%b,y可根据a*x+b*y=m求出,对于y的最小正整数解同理可得。
  • 模板
int exgcd(int a,int b,int &x,int &y)
{
	if(!b){
		x=1,y=0;
		return a;
	}
	int ans=exgcd(b,a%b,x,y);
	int temp=x;
	x=y,y=temp-a/b*y;
	return ans;
}

计算几何

点线面的运算

  • 点积和叉积
  • 计算线段交
    进行两次跨立实验即可
  • 计算三角形外心
  • 欧拉公式计算多面体
    (平面图)若一个图能画在平面上使它的边除了在顶点处外互不相交,则称该图为平面图,或称该图能嵌入平面的。在这里插入图片描述在这里插入图片描述

学多少更多少吧,最近需要学的知识有点多,只能爆肝了

ACM计算几何篇 1 前言 1.1 计算几何算法 1.2 计算几何题目特点及要领 1.3 预备知识 2 凸包 2.1 定义 2.1.1 凸多边形 2.1.2 凸包 2.2 颜料配色问题 2.2.1 问题描述 2.2.2 问题简化 2.2.3 问题抽象 2.2.4 数学抽象 2.2.4.1 Convex Combination And Affine Combination 2.2.4.2 区别与联系 ... 阅读详情

相关推荐

我的ACM脚印

2020年12月20日,南京区域赛结束,同时结束的,还有我的两年多的ACM生涯 接下来的寒假重心会向着找实习的方向努力,当然明年还有线下的区域赛、EC-finial以及明年的省赛等等,我都会去认真准备。 这篇文章会写什么 关于我 我的ACM简单的回顾 我的ACM成绩 写给新人 ACM到底和数学建模、挑战杯等等的其他竞赛有什么区别 ACM到底带给我什么了 为什么要打ACM 什么样的人适合去打ACM,什么样的人不适合去打ACM 写给已经进入了ACM的人 我在ACM的训练计划 除了ACM之外的计划

AC不动机的博客 6398

华为oj中级 表达式求值

描述 给定一个字符串描述的算术表达式,计算出结果值。输入字符串长度不超过100,合法的字符包括”+, -, *, /, (, )”,”0-9”,字符串内容的合法性及表达式语法的合法性由做题者检查。本题目只涉及整型计算。/* 功能: 对输入的字符串表达式进行求值计算,并输出结果。输入:String inputString:表达式字符串 返回: int :正常返回true,失败返回false */

huheqing的博客 659

NCST ACM每周知识点索引

一、背景篇 1、ACM简介 2、算法竞赛常见赛制及题目形式 3、ACM题目常见输入问题 4、ACM常见英文翻译 二、语法基础篇 1、C++ STL入门 2、语法基础课——第一讲 变量、输入输出、表达式和顺序语句 3、语法基础课——第一讲 习题 4、语法基础课——第二讲 判断语句 5、语法基础课——第二讲 习题 三、算法基础篇 1、简单素数问题 2、双指针算法入门 3、一种比较巧妙的高效率质数判断法 4、最短路算法入门 5、二分法入门及应用 6、算法基础课——第三章 搜索与图论(一) 7、常用排序算法描述及C

m0_62021646的博客 779

算法设计经典书籍推荐

学计算机的人是幸福的,因为在这个领域中有如此多的通俗易懂(相对来说)的经典好书,你需要做的只是坚持把它们一本一本读下去而已。在这里列出一些我看过或者准备看的算法书籍,以供参考。      1. CLRS 算法导论 算法百科全书,只做了前面十几章的习题,便感觉受益无穷。    2. Algorithms 算法概论 短小精悍,别据一格,准经典之作。一个坏消息: 同算法导论,该书没有习题答案。好

xiaoding133的专栏【Stay hungry,Stay foolish】 3617

ACM竞赛与考研机试必备知识点精讲

ACM竞赛和考研复试中的机试是衡量计算机科学与技术专业人才专业水平的重要方式。在这一章节中,我们将探讨ACM竞赛的组织形式、参与规则以及它如何帮助学生和从业者深化对编程语言、数据结构和算法的理解。ACM国际大学生程序设计竞赛(ACM-ICPC)是一项面向全球大学生的计算机程序设计竞赛,它强调算法思维、程序设计和团队合作。参赛者需要在有限的时间内解决一系列编程问题,这些问题从简单的数据结构应用到复杂的算法实现不等。

weixin_36213081的博客 546

ACM算法与知识点精要指南

htmltable {th, td {th {pre {简介:ACM竞赛要求参赛者具有扎实的计算机科学基础和强大的算法分析能力。本文档详细梳理了ACM中的常见问题类型和所需知识,包括但不限于排序与搜索、图论、动态规划、字符串处理、数学、数据结构、递归与分治、贪心算法、回溯与剪枝、计算几何等关键算法类别。同时,强调了编程语言熟练度、调试技巧、效率优化、读题理解和团队协作等能力的重要性。提供学习资源和联系方式,旨在帮助参赛者系统提升ACM技能,实现竞赛成绩的突破。

weixin_30415591的博客 1097

ACM中级算法

ACM中级算法

Greedy Hat的博客 256

Jitsi中的Prosody(谐音:破扫敌)介绍

凭借其灵活的插件系统、强大的安全性和出色的性能,Prosody 成为许多企业和开发者构建定制化通信解决方案的首选。在 Jitsi 的多方视频会议场景中,Prosody 不仅处理基本的信令任务,还需要与其他组件(如 Jitsi Videobridge)协作,确保视频流的正确分发和控制。Prosody 提供了丰富的插件系统,允许开发者通过模块扩展其功能。Prosody 就是一个实现 XMPP 协议的服务器,它支持 XMPP 协议的标准功能,如消息传递、群组聊天、传送状态信息等,并提供了高效、可扩展的服务。

江左散人的专栏 1165

ACM算法学习状态-中级

一.基本算法:      (1)C++的标准模版库的应用. (poj3096,poj3007)      (2)较为复杂的模拟题的训练(poj3393,poj1472,poj3371,poj1027,poj2706) 二.图算法:      (1)差分约束系统的建立和求解. (poj1201,poj2983)      (2)最小费用最大流(poj2516,poj2516,poj2195

凤凰院有点天真 833

ArcGIS拓扑面错误批量修改

在工作学习中经常会遇到拓扑修改的问题,当数据量巨大的时候会产生拓扑问题 当拓扑错误数量巨大时,人工逐一修改是不现实的,基于此利用gis自带工具箱实现拓扑面类错误的批量修改。 一、.常见拓扑错误的类型: 1面重叠 2空隙(绿色部分) 二、拓扑检查 1新建数据库-----新建数据集—导入数据. 2新建拓扑 3修改拓扑容差及名称 添加拓扑修改规则 完成拓扑检查-查看拓扑错误 三、拓扑批量...

qq_43173805的博客 3万+

Cortex-M内核DWT周期计数器:从原理到STM32实战时间测量与性能分析

在嵌入式开发中,代码执行耗时测量是性能优化的基础。除了依赖外设定时器或SysTick,ARM Cortex-M3/M4/M7内核自带的DWT(Data Watchpoint and Tracker)调试组件提供了一种极低侵入性的硬件计时方案。其内部的32位周期计数器CYCCNT跟随内核时钟递增,无需占用额外引脚或定时器资源,即可实现纳秒级分辨率的函数耗时测量、中断响应分析及延时实现。从DWT寄存器配置、周期差值计算到基于SystemCoreClock的微秒换算,开发者可以快速搭建一套轻量级性能分析工具。本文

weixin_34216614的博客 183

华为oj中级 24点运算

描述 计算24点是一种扑克牌益智游戏,随机抽出4张扑克牌,通过加(+),减(-),乘(*), 除(/)四种运算法则计算得到整数24,本问题中,扑克牌通过如下字符或者字符串表示,其中,小写joker表示小王,大写JOKER表示大王: 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER 本程序要求实现:输入4张牌,输出一个算式,算式

huheqing的博客 1248

TCGA数据下载保姆级教程:用GDC-client从零搞定,附配置文件避坑指南

本文提供TCGA数据下载的完整教程,详细讲解如何使用GDC-client工具从零开始配置到高效获取基因组数据。涵盖环境准备、认证配置、数据检索、高效下载及故障处理等关键步骤,并附配置文件避坑指南,帮助生物医学研究者快速掌握TCGA数据下载技巧。

weixin_30892037的博客 260

ACM知识清单

ACM必备知识清单

m0_46281615的博客 198

《Halcon 100项目-9》Halcon彩色线序检查

Halcon彩色线序检查

doubleintfloat的博客 1042

RIP协议

一、 Rip简介 早期在unix系统上使用,1988年才发布第一个rip协议标准“RFC1058”,是一种距离矢量(Distance-vector)协议。 1. 特点: 只关心跳数,下一跳,不关心整网拓扑。 基于传闻的路由协议。 2. 场景: 适用于规模小且可靠性要求低的网络环境,部署简单,因为其跳数限制,不适用于大型网络。 3. 工作原理: - 开启RIP发送RIP请求 - 接受请求发出响应...

ledrsnet的博客 8607

ACM数学知识体系

         在盛情收到学弟邀请给他们整理ACM数学方面的知识体系,作为学长很认真的弄了好久,希望各学弟不辜负学长厚爱!!!很抱歉由于电脑全盘格式化好多word、PPT都丢失,我尽量详细地给大家找到各知识点学习链接及题目链接,敬请原谅。里面很多牛人写的博客,我都贴了网址,大家认真看下吧!         本人数论博客地址:         http://blog.youkuaiyun.com/xh_rev...

lamborghini1993 9472

Qt | linux+openCV+Qt6.5.3环境搭建成功版(带例子)

opencv安装 Qt 实战举例

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 1884

【大厂秋招高频算法】阿里秋招高频算法题汇总(中级篇)

这里讲一下阿里秋招中的高频算法题,分为三个部分: 基础篇 、 中级篇 、 进阶篇 目的就是为了应对秋招中的算法题,其实过算法题的诀窍就在于 理解的基础上 + 背会 看到一个题目,首先要了解题目考察的算法是什么,这个算法要理解,至于具体实现的话,就靠背会了(多写、多练),没有什么捷径!

qq_45260619的博客 1308

halcon知识:常见三种模板匹配方法总结

halcon的三种模板匹配方法总结,halcon有三种模板匹配方法:即Component-Based、Gray-Value-Based、Shaped_based,分别是基于组件(或成分、元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种方法。 先要补充点知识:形状匹配常见的有四种情况 一般形状匹配模板shape_model、线性变

gongdiwudu的专栏 4万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

ACM部分学习路线

前言:接触ACM也有接近一年的时间了,上一学年学习的知识点也是零零散散,最近打算好好根据论坛上找到的学习路线重新拉一遍,顺便写写博客记录题解和算法笔记,这也算是来优快云发布的第一篇文章了。这篇文章只是一篇总结和链接,各个知识点的链接会根据我的复习(学习)进度陆续更新,希望能完结。 参考文章: ACM算法学习路线、清单 ACM路线 算法竞赛入门到进阶 --- 完整学习路线(含知识点讲解) ACM学习计划 一.基础篇 众所周知,ACM竞赛是三人小队,三个人每个人都会选择不同的方向...

issey的博客 2935

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

关于我的大学ACM江湖

文章目录1、引言2、心得与体会3、分享模板 1、引言 大二下学期正式入ACM,大家一看这时间就知道算是挺晚的了,因为我大一比较迷茫,没有在大学加过任何部门,学习也提不上什么劲,大二上开始有了自己的想法,在班上成功竞选上了学习委员,然后我越发积极,在大二上的寒假假期独自在家刷题,目的就是为了蓝桥杯,初赛挺适合新手锻炼的,刷题目的就是为了学校的选拔赛,争取名额,后面当然得到了名额,最后在比赛也取得了省...

超逸の学习技术博客 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ACM主要算法

ACM主要算法 ACM主要算法介绍 初期篇 一、基本算法 (1)枚举(poj1753, poj2965) (2)贪心(poj1328, poj2109, poj2586) (3)递归和分治法 (4)递推 (5)构造法(poj3295) (6)模拟法(poj1068, poj2632, poj1573, poj2993, poj2996) 二、图算法 (1)图的

不一样的烟火 6559

普通学历,大一大二要不要打ACM?

这个是来自帅地知识星球的一些提问,以及帅地的一些回答 帅友提问 帅地,你好,有个问题我想问很久了。 我是山东某个双非的大一学生,软件专业。目前在校ACM队内参与训练。但我却一直很困惑,我们学校说实话很垃圾,但是每届都会出一两个进大厂的人,据我了解,很多以前都打过ACM。 我们老师经常对我们说,只要好好训练,进大厂是很有机会的。 但是于我个人来说,ACM的题比较难,做起来有些力不从心,而且老师一开始数据结构都没讲,直接就教算法,后来就直接不太想做了,导致大一上学期也没做几个题,现在水平在队里有点落后。 我校的

帅地 1万+

ACM入门知识-----ACM赛事介绍

国际大学生程序设计竞赛(英文全称:International Collegiate Programming Contest(简称ICPC))是由国际计算机协会(ACM)主办的。ACM国际大学生程序设计竞赛已经发展成为全球最具影响力的大学生程序设计竞赛。(以下简称ACM-ICPC)。 ACM-ICPC以团队的形式代表各学校参赛,每队由至多3名队员组成。每位队员必须...

斗code年华 6559

ACM必备

ACM知识框架: ACM推荐书:

a343649190的专栏 896
上一篇: hdu1222
下一篇: 奇特的艺术品(数据结构小实验)
whilefail
博客等级 码龄8年 10粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值