noip知识点_noip知识点汇总-程序员宅基地

技术标签: c++  

noip知识点、

1、模拟算法(暴力枚举),按照题目的要求,题目怎么说就怎么做,保证时间和正确性即可。
2、搜索与回溯,主要的是DFS(深度优先搜索)和BFS(宽度优先搜索),基本没有直接的暴力搜索。一般是记忆化搜索加剪枝,普及组第三题难度。
3、简单操作:如筛法、前缀和、快速幂、高精度、辗转相除法等,掌握全面即可应对大部分处理数据上的问题。
4、队列(单调队列)、栈、堆、链表等基础数据结构。
5、简单二分和分治(快速排序,归并排序)。
6、贪心,要保证贪心的正确性,如果无法证明也可以用来骗分。
7、数学知识、公式计算,要点在于公式的化简与变形,经过反复操作后也许就能得出重要结论。
8、简单的动态规划,容易推出状态转移方程,要注意初值与计算边界条件。
9、字符串基本操作,插入、删除、查找等。
10、经典例题变形加深:八皇后、马的走法、背包问题等。

1、 简单搜索

for (int i = 1; i <= n; i ++ )
{
   
    
    //...可能存在多重循环
    if ()  // 满足条件
    {
   
    

    }
}

2、DFS模板

dfs(int u) // 简单版
{
   
    
    if(找到了||走不下去了)
    {
   
    
        return}
    开始下一个情况(dfs(u+1);

} 

dfs()//参数用来表示状态  
{
   
      
    if(到达终点状态)  
    {
   
      
        ...//根据题意添加  
        return;  
    }  
    if(越界或者是不合法状态)  
        return;  
    if(特殊状态)//剪枝
        return ;
    for(扩展方式)  
    {
   
      
        if(扩展方式所达到状态合法)  
        {
   
      
            修改操作;//根据题意来添加  
            标记;  
            dfs();  
            (还原标记)//是否还原标记根据题意  
            //如果加上(还原标记)就是 回溯法  
        }  

    }  
}

3、试除法求质数

bool is_prime(int x)
{
   
    
	if (x < 2) return false;
	for (int i = 2; i <= x / i; i ++ )
		if (x % i == 0) 
			return false;
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43418868/article/details/105708655

智能推荐

刷题day12 二叉树的理论基础、递归遍历、迭代遍历、统一迭代-程序员宅基地

文章浏览阅读530次,点赞8次,收藏6次。比如说中序的时候,他是先处理的时候将根节点放进栈中,之后判断栈不为空就开始循环,给他再弹出去然后按照正常的放入栈中的顺序去放,就比如说中序放入栈中就是右中左的顺序,然后每次都得在中节点后加一个null进行标记,其他就是正常一样的。分析一下为什么刚刚写的前序遍历的代码,不能和中序遍历通用呢,因为前序遍历的顺序是中左右,先访问的元素是中间节点,要处理的元素也是中间节点,所以刚刚才能写出相对简洁的代码,前序遍历是中左右,每次先处理的是中间节点,那么先将根节点放入栈中,然后将右孩子加入栈,再加入左孩子。

SIFT描述子及特征匹配——python实现_分别详述 sift 特征的描述子构造、以及匹配过程。-程序员宅基地

文章浏览阅读2k次。文章目录数据集SIFT描述子1.原理2.代码3.结果4.分析描述子匹配1.原理2.代码3.结果4.分析图片可视化匹配1.原理2.代码3.结果4.分析遇到的问题及解决方法1.图片尺寸不同,无法进行特征匹配2.VLfeat无法使用3.下载安装pydot时报错数据集因为疫情原因没有口罩出门,本实验取了某游戏中英雄的正面,左右侧面,背面全身像作为数据集,共4位英雄,16张全身像。SIFT描述子1...._分别详述 sift 特征的描述子构造、以及匹配过程。

字符串规则检测与正则表达式-程序员宅基地

文章浏览阅读2.6k次。 平时除了工作,还要为自己的理想而奋斗,很少有时间来写博客。今天加班,但是却很空闲,于是把有些东西拿出来整理整理。近来一直在做一个基于Struts的Java Web日本项目,没有什么高深的技术问题,一切都还是蛮顺利的。期间遇到了一个用户注册信息规则检测的问题,我觉得解决问题的方法和获得的经验很值得程序员朋友们借鉴,特地拿出来和大家分享一下。对于大多数Web项目,用户注册信息规则检测都是

java string 反序列化_java序列化和反序列化-程序员宅基地

文章浏览阅读2.4k次。引语:平时我们在运行程序的时候,创建的对象都在内存中,当程序停止或者中断了,对象也就不复存在了.如果我们能将对象保存起来,在需要使用它的时候在拿出来使用就好了,并且对象的信息要和我们保存时的信息一致.序列化就可以解决了这样的问题.序列化当然不止一种方式,如下:序列类型是否跨语言优缺点hession支持跨语言,序列化后体积小,速度较快protostuff支持跨语言,序列化后体积小,速度快,但是需要S..._string类型反序列化

LONZA细胞核转染试剂盒使用说明及常见问题_lonza电转液怎么配-程序员宅基地

文章浏览阅读3k次。LONZA 4D-Nucleofector细胞核转染系统,结合电穿孔技术和细胞特异性转染液,通过系统内置优化的转染程序,将外源基因高效导入目标细胞的细胞质中,并可直接入核,整合到细胞染色体中。核转试剂盒组成核转试剂盒操作转染所用的DNA含量,根据所用模块和体系差异而不同热销核转试剂盒 现货供应Q:12反应/24反应/32反应有什么区别?A12/24反应试剂盒耗材为100μL体系电极杯,32反应试剂盒耗材..._lonza电转液怎么配

【Debug记录】ROS报错:运行rqt相关组件显示“已放弃 (核心已转储)”的解决办法_traceback (most recent call last): file "/opt/ros/-程序员宅基地

文章浏览阅读3.2k次,点赞8次,收藏12次。【ROS报错】运行rqt相关组件显示“已放弃 (核心已转储)”的解决办法、错误日志:运行rqt_plot时显示以下报错:Traceback (most recent call last): File "/opt/ros/melodic/lib/python2.7/dist-packages/rqt_plot/data_plot/mat_data_plot.py", line 110, in resizeEvent self.figure.tight_layout() File "/us_traceback (most recent call last): file "/opt/ros/melodic/lib/python2.7/dist

随便推点

程序员 12 小时惊魂记:凌晨迁移数据出大事故!_国内数据中心迁移的事故有哪些-程序员宅基地

文章浏览阅读153次。有一个读者问我:你认为一个程序员具备什么样的能力,才算得上是厉害的程序员?我答:拥有解决问题的能力的程序员。这个回答貌似有点抽象,不要紧看下面的文章你会慢慢有所了解。解决问题的能力很多年前,当我还是一个小菜鸟的时候,我的领导经常告诉我,解决问题的时候,不要局限于技术本身,并且形象的给我举了一个例子。有一次两个程序员一直讨论,如何判断两台服务器之间是否网络正常,争争吵吵了很久。旁边的..._国内数据中心迁移的事故有哪些

【附源码】基于flask框架基于协同过滤的虚拟资产信息管理系统 (python+mysql+论文)-程序员宅基地

文章浏览阅读551次,点赞5次,收藏6次。通过分析用户的历史交易数据和兴趣偏好,系统能够自动为用户推荐适合其需求的虚拟资产,节省了用户在众多资产中筛选和比较的时间和 effort。其次,该系统能够提供安全可靠的资产信息管理功能,保护用户的隐私和资产安全。最后,该系统的开发将推动虚拟资产信息管理领域的创新和发展,为相关企业和机构提供更好的技术支持和服务。在数据库管理工具的选择上,使用了Navicat 11,这是一个用户友好且功能强大的数据库管理软件,它支持多种数据库系统,包括MySQL,并提供了图形化界面,使得数据库的管理和维护工作更加便捷。

练习STM32动态更改PWM波频率和占空比_stm32动态改变pwm频率-程序员宅基地

文章浏览阅读6.1w次,点赞98次,收藏660次。更改PWM波频率,就是更改相对应的定时器的预分频系数和自动重装载值!_stm32动态改变pwm频率

CEF - F12调用控制台窗口_cef showdevtools-程序员宅基地

文章浏览阅读4.9k次。基于CEF3封装出的浏览器外壳程序,在实际使用中,需要调试前端的信息。所以需要调用控制台窗口,对打包的项目进行调试。实现方法通过两步实现。第一步捕获键盘F12消息类型;第二步调用ShowDevTools方法。捕获F12消息类型继承cefkeyboard_handler组件,重写OnPreKeyEvent方法实现ShowDevTools具体实现方法如下,这也是项目中实际使用的逻辑。控制台窗口作为独立的窗口弹出显示void CustomClient::ShowDevToo._cef showdevtools

使用 Prow 实现 GitOps 与 ChatOps_prow deploy-程序员宅基地

文章浏览阅读1.1k次。本篇文章将对 Prow 进行基本的介绍,并根据架构对其中的工作原理逐一讲解。之后再引导大家如何在 Kubernetes 环境中部署使用 Prow。Prow 介绍Prow 是基于 Kubernetes 的 CI/CD 系统。它能够对各种类型的事件进行触发,并向不同的服务报告状态。与此同时,它还为 GitHub 自动化实现了策略增强、ChatOps(如 /foo 风格的命令)以及自动化合并 PR等功能。目前 Kubernetes、Istio、Prometheus 等 CNCF 项目都使用 Prow 进行开_prow deploy

STM32_PWM呼吸灯_呼吸灯是什么波-程序员宅基地

文章浏览阅读2.2w次,点赞94次,收藏645次。1、什么叫呼吸灯?由亮到暗逐渐变化,很有节奏感地一起一伏,感觉好像人在呼吸,当手机收到消息,屏幕上的指示灯会渐变,比较显眼,能起到一个通知提醒的作用,其实这就一个呼吸灯。(备注:现在由于手机都在往全面屏发展,因此很多手机取消了呼吸灯这一功能,取而代之的是息屏显示)2、什么是PWM?PWM:Pulse Width Modulation,脉冲宽度调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。可以将PWM理解为:对脉冲信号的处理技术。这里的“处理”指就的是改变占空比,从而改变最_呼吸灯是什么波