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

申请免费网站哪个好手机如何开发软件

申请免费网站哪个好,手机如何开发软件,世界著名的设计公司,做淘客网站怎么样思路(The Idea) 使用穷举搜索解决问题基于“KISS” 原则(Keep It Simple, Stupid)。在竞赛中解决问题的目标是在规定时间内写出能运行的程序——是否存在更快的算法并不重要。 穷举搜索是一种利用暴力、直接、尝试所有可能的方法…

思路(The Idea)

使用穷举搜索解决问题基于“KISS” 原则(Keep It Simple, Stupid)。在竞赛中解决问题的目标是在规定时间内写出能运行的程序——是否存在更快的算法并不重要。

穷举搜索是一种利用暴力、直接、尝试所有可能的方法来寻找答案的策略。这种方法几乎应该是你优先考虑的第一个算法或解法。如果它能在时间和空间限制内运行,那么就使用它:这种方法通常易于编码,也易于调试。这样你就有更多时间去解决那些暴力法无法快速解决的难题。

如果一个问题的可能情况不超过几百万个,就可以对所有情况进行遍历,验证哪个符合要求。

如何评估“可能性数量”(How to evaluate ‘number of possibilities’)

要判断是否可以使用暴力法,需要估算满足某个判定条件所需进行的总操作次数。这要求你对在最大输入规模下需要多少操作有一个大致的判断。

这正是“大 O 记法(Big-O Notation)”的用途。你会看到算法复杂度被描述为 O ( N ) O(N) O(N) O ( N l o g N ) O(NlogN) O(NlogN) O ( N 2 ) O(N²) O(N2) 等。这意味着在一般情况下,输入规模增加会使运行时间按 O ( ) O() O() 中的函数增长。

例如:

  • 对于 O ( N ) O(N) O(N),如果 N N N 加倍,操作数也加倍。
  • 对于 O ( N 2 ) O(N²) O(N2),当 N N N 1000 1000 1000 时,总操作量是 1 , 000 , 000 1,000,000 1,000,000,通常远超循环体中的基本操作速度,导致运行时间迅速增长。

一般来说, O ( N 2 ) O(N²) O(N2) 或更高阶的复杂度在 N N N 较大时会变得很慢,但有些编程题目的 N N N 较小, O ( N 2 ) O(N²) O(N2) 的复杂度仍可以接受。

判断程序复杂度最基本的方法是找出嵌套最深的循环,统计其中循环变量的数量。如果循环是无条件执行的,可以将各层循环次数相乘:

for i = 1 to N for j = 1 to Nfor k = 1 to N

上述是 3 3 3 层嵌套,每层大小为 N N N,时间复杂度为 O ( N 3 ) O(N³) O(N3)

在典型的竞赛题中,内部计算通常非常快,大约需要几十或几百纳秒(十亿分之一秒),有时是几微秒(百万分之一秒)。但如果 N = 1000 N=1000 N=1000 O ( N 3 ) O(N³) O(N3) 的复杂度将使总运行时间达到秒级,往往过慢。

关于递归的说明

递归解法的复杂度评估与循环类似,但要额外考虑栈空间开销。每一层递归都会为局部变量分配栈空间。当递归层数达到大约 10 , 000 10,000 10,000 时,很可能超出内存限制。

建议:

  • 避免无用的局部变量
  • 计算最大递归深度,确保不会耗尽栈空间

注意,顺序执行的代码段最终运行时间由最慢的一部分决定。比如有三个 O ( N 2 ) O(N²) O(N2) 的循环和一个 O ( N 3 ) O(N³) O(N3) 的循环,整体复杂度就是 O ( N 3 ) O(N³) O(N3)

小心陷阱(Careful, Careful)

有时候,并不容易看出是否可以使用穷举搜索。

  1. 例题:Party Lamps [IOI 1998]

    问题描述:你有 N N N 个灯和 4 4 4 个开关:

    • 第一个开关:切换所有灯的状态
    • 第二个开关:切换编号为偶数的灯
    • 第三个开关:切换编号为奇数的灯
    • 第四个开关:切换编号为 1 , 4 , 7 , 10 , . . . 1, 4, 7, 10,... 1,4,7,10,... 的灯

    给定 N N N、最多 10000 10000 10000 次按钮按压、以及某些灯的状态(如灯 7 7 7 是关的),要求输出所有可能的灯状态。

    初始思路:

    每次按按钮有 4 4 4 种选择,总共 4 10000 4¹⁰⁰⁰⁰ 410000 种组合(约为 1 0 6020 10⁶⁰²⁰ 106020),完全无法穷举。

    简化观察:

    按钮顺序无关 → 降为 1 0 4 10⁴ 104 次选择(约为 1 0 16 10¹⁶ 1016),仍然太大。

    同一按钮按两次=没按 → 每个按钮只有按或不按两种状态,变为 2 4 = 16 2⁴=16 24=16 种组合。

    最终只需遍历 16 16 16 种按钮组合,完全可行,暴力法即可解决。

  2. 例题:The Clocks [IOI 1994]

    问题描述:一个 3 × 3 3×3 3×3 网格中的 9 9 9 个时钟,每个时间为 12 : 00 12:00 12:00 3 : 00 3:00 3:00 6 : 00 6:00 6:00 9 : 00 9:00 9:00。目标是将所有时钟都调成 12 : 00 12:00 12:00。你可以使用 9 9 9 种不同的“移动”,每种会使特定一组时钟顺时针旋转 90 90 90 度。

    初始思路:

    递归查找是否存在 1 1 1 步、 2 2 2 步… 的解,时间复杂度为 9 k 9^k 9k k k k 为步数),效率低下。

    优化观察:

    移动顺序无关 → 降为 k 9 k⁹ k9,仍然不够快。

    同一个移动做 4 4 4 次 = 没做 → 每个移动最多做 3 3 3

    所以总组合为 4 9 = 262 , 144 4⁹ = 262,144 49=262,144,完全可以暴力搜索。

    结论:有了这个观察后,暴力法是足够的。

  3. 示例题目(Sample Problems)Milking Cows [USACO 1996]

    给出奶牛的挤奶时间段(例如 Farmer A: 3001000,Farmer B: 7001200),求:至少有一头牛在被挤奶的最长连续时间段;没有任何牛在被挤奶的最长时间段

  4. Perfect Cows & Perfect Cow Cousins [USACO 1995]

    定义:

    • 完美数:所有真因子的和等于这个数(如 28 = 1 + 2 + 4 + 7 + 14 28 = 1+2+4+7+14 28=1+2+4+7+14
    • 完美对:两个数互为其因子和
    • 完美集合:多个数的因子和依次对应下一个,最后一个因子和回到第一个

    任务:

    • 每头牛有编号( 1 ∼ 32000 1 \sim 32000 132000
    • 找出所有编号为完美数的牛(完美牛)
    • 找出所有能组成完美集合的牛群(完美牛亲族)

文章转载自:

http://pcjUXe5O.fwzjs.cn
http://NcAvyRhG.fwzjs.cn
http://zGmiIoKK.fwzjs.cn
http://BWhfLhXX.fwzjs.cn
http://mtmH1uNi.fwzjs.cn
http://VtkhHZ9R.fwzjs.cn
http://AeBBGbYR.fwzjs.cn
http://IlHwtyOM.fwzjs.cn
http://Kkc72TY4.fwzjs.cn
http://Tmg7k2rL.fwzjs.cn
http://9mL6b8Iy.fwzjs.cn
http://jiReCBAR.fwzjs.cn
http://JxHjbzXV.fwzjs.cn
http://xKMgepi8.fwzjs.cn
http://X4Qm8bou.fwzjs.cn
http://fiQ1aTCd.fwzjs.cn
http://6K9gAJKW.fwzjs.cn
http://Bdpsy4KD.fwzjs.cn
http://1kXFoVjV.fwzjs.cn
http://b9gRhWlC.fwzjs.cn
http://dYrE0mTq.fwzjs.cn
http://8YXejrZe.fwzjs.cn
http://A6ekwtJz.fwzjs.cn
http://0RPW8Xzv.fwzjs.cn
http://sU3lsekO.fwzjs.cn
http://1R1ZGOCn.fwzjs.cn
http://0xfrx2FW.fwzjs.cn
http://uznOujde.fwzjs.cn
http://Pw2hqvd8.fwzjs.cn
http://S0zyADSQ.fwzjs.cn
http://www.dtcms.com/wzjs/729653.html

相关文章:

  • 中国做网站找谁网页设计免费网站推荐
  • 健康网站模版长沙建设网站公司
  • 杭州市下城区建设局门户网站罗湖住房和建设局网站官网
  • 怎么做网站的搜索引擎做网站维护有没有前途
  • 沅江市住房和建设局网站宁海网站建设
  • 网站漂浮特效怎么做论坛网站前置审批
  • 手机免费永久建立网站网站制作公司多少钱一年
  • 网站视频管理系统机构改革网站建设
  • 如何建国际商城网站电商分销主要做什么
  • 运营网站挣钱方法南昌高端网站制作
  • 爱淘宝网页网站建设电子商务是最差的专业吗
  • wix网站做seo如何网页站点的用途
  • 大型网站开发像天猫类的写过太原的网站
  • 网站开发Z亿玛酷1订制网站建设工作目标
  • 网站建设职业发展前景山西网站建设 哪家好
  • idea 做网站登录微信公众平台设计
  • 网页设计作品网站北京seo推广优化
  • 佛山做网站业务工资wordpress linux位置
  • 做空闲时间的网站外贸开发模板网站模板
  • 汽车保险网站网站psd模版
  • 网站推广具体内容简要说明腾讯云网站免费建设
  • 做网站需要什么硬件公共资源交易中心网站建设汇报
  • 池州做网站公司湖北网站设计流程
  • 网站景观设计展板
  • 手机网站 分享按钮网站描述应该怎么写
  • 海口企业建站系统模板pc做网站服务器
  • 站长工具在线查询wordpress运动鞋模板
  • 西安高端网站建设公司天猫网站建设目的
  • 比较大网站建设公司wordpress搜索结果带图代码
  • 品牌产品网站怎么做企业网站建设开题报告是什么