zoj分类

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

搜建模搜来的。。。

简单题
#1001 -____-b  A+B。
#1110 Dick and Jane 胡乱枚举收缩一下情况就可以了。
#1115 a[i+1] = a[i] 的全部数位上的加起来,直到剩下一个,直接模拟。
#1414 太弱太弱,按照模 4 分类讨论一下即可。
#1713 简单的字符串截取和字符计数。
#1716 简单的二维数组区间求和,作累加,然后容斥一下;预处理 O(W*H),查询 O(1) 顶多 (W-w)*(H-h) 次查询。
#1745 简单的 hotter colder,滚动输入,判断一下远近即可。
#1847 该属于简单题,但涉及一个取整或许有所麻烦,精确解应该是求出平均值,再求偏差绝对值和除 2。这里由于精确到分,求出平均值 mean,按分求出 ceil 和 floor 的值。然后对于每个人,若钱 < mean,求与 floor 偏差绝对值加到总和中,否则与 ceil 求。另外,记录偏差(不取绝对值总和),如果最后总偏差不为 0,要将总偏差绝对值加到总和中。最后输出总和一半即可。
#2104 -____-b 非一般水型,输入若干个字符串,统计最多的那个输出,喜欢怎么乱搞都行。
#2176 车速限制,相当的水。
#2183 水题,读清楚题目就好,输出严格大于一半人判 simple 的,没有人判 hardest 的,注意格式和没有的时候,太水了。
#2186 -____-b 只输入三个数,找出第一个 <= 168 的数。
#2201 -____-b 太他妈水了:while(cin >> a >> b) puts(a >= b ? "MMM BRAINS" : "NO BRAINS");
#2207 字符的重排,直接把字符矩阵还原再变一下枚举次序即可。
#2321 足球队球员选择,很简单,就是 if-else 一下即可。
#2358 求一个整数是否能表示成某些阶乘数的和,简单枚举即可,注意题目描述比较阴险,一个负数作为结束(不是-1),不然会 WA 死的。
#2388 知道 x-y 和 x+y 求 x 和 y,(x>y),相当弱啦。
#2405 求一个范围内满足某些性质的数的列表,枚举+判定即可。
#2417 -____-b  求一个整数的最低非 0 二进制位。
#2476 带点格式输入输出的 a+b,怎么说也还是 a+b。
#2478 数手指的玩意。
#2480 矩形覆盖问题,由于规模很小,蛮力即可。注意,点击一个窗口不会使它置顶。
#2481 将该序列排序,去重之后输出。
#2482 二进制 IP 转 10 进制,没啥意思。
#2514 简单的字符替换。
#2548 相当简单,课程编号不超过 10000 直接寻址就可以。
#2554 简单,直接枚举一下所有的点判分即可。
#2659 求六个矩形是否能拼成一个正六面体。
#2679 很弱的虫食算,直接蛮力穷举也就是 O(90)。
#2722 说白了就是求二对数,也就是最高位为 1 的位数。
#2736 -____-b  完全没有难度。
#2744 求一个串有多少个子串是回文,数据比较弱,直接枚举各个字母(一个或相邻两个)作为回文中心向外扩展计数。
#2773 简单的一个公式求和,也可以选择根据递推求出通项:(X^4+6*X^3+11*X^2+6*X)/8 。
#2781 按最高位取整。没啥说的。
#2795 判断一个序列的置换是否跟它本身相等。
#2807 求插座总共能提供的接口数,可见,原来墙上有一个主插口,加上所有插板的孔数,减去插板数,也就是说,结果为 1+Sum(S[i]-1),S[i] 为第 i 个插板的孔数。
#2812 -____-b  小学生都会做的求和。
#2830 很明显一场淘汰掉两个,因此一共有 N/2 场。
#2850 如题,直接扫描一下是否一个也没有或者有两个相邻的即可,但本题有变态版。
#2857 弱智,对每个格子求三个数的平均数。
#2886 他叫干啥就干啥吧,没啥好说的。
#2932 简单的字符替换,也就甭提了。
#2947 考察一组串的开头字母拼起来是否一样,弱智题。
#2965 太简单了,怎么搞都过,直接枚举模拟到 800 即可,因为明显 700~799 都是 CocaCola,已经可以满足输入范围了。
#2970 一个序列求最大/最小值,太弱,奥运专栏。
#2987 -____-b  不说啥了,一个字符串删掉中间一个再输出来。
#2988 也没啥好说了,公制转换,一乘一除收工。
#3100 -____-b  超水肉题,求和剔除最大最小值求平均。
#3023 换一张牌使得总和相等,先求出差值,然后枚举一下就行,n 只有 100,很水。
#3121 简单模拟,字母重排。
#3124 *____*?  绝对有病的题!!!我题目都没读懂他想怎么样,然后输出 = 输入 AC!! 你说有病不有病?!
#3174 简单题,求给定年份之间存在多少个月,使得月份的平方等于年份的后两位或者后三位,直接枚举年月然后判定,计数即可。
#3191 根据时针的角度判断时钟所指的时间段,简单的角度转换即可解决。
#3202 -____-b  水题,求数组的最大值所在位置,以及第二大的值是什么。
#3210 判断序列经过栈的处理还是经过队列的处理。如果系列相同,则为队列,如互为回文,则为栈。

模拟
#1071 恶心模拟题,到了什么程度了捏?一个晚上,一道题交出了所有的错误。。算法:从 ? 开始,跟着路径往前走,碰到 o 记录一次反转;碰到 ) 和 > 插入一个节点,然后构造二叉树;构造完之后再读入字符串后序求值就行了,中间处理细节做得想吐。
#1072 模拟指令机器,纯粹模拟,把我调戏得好痛苦啊~~
#1111 有点小麻烦的模拟题,梭哈,同花顺,两手牌比大小。以不变应万变是上策。
#1122 时钟指针追赶问题,把相对位移,相对速度想清楚,再用时间求出结束位移模一下圈的格数即可。
#1404 油管最优布局,中级模拟题,对算法要求不高,直接蛮力即可。注意一下布局框的计算、坐标的位置等即可,注意题目说最北的坐标必须顶格,也就是说如果左侧坐标最大值 < 10 的话左侧坐标只需要留一个位置。
#1717 DP,每个格子存放一个最优字符串,确定一个字符串"更优"的比较函数,即可不断更新到当前字符位置的最长字符串。
#1720 简单模拟,多项式的格式输出,先把各阶的基数用字符串存好,然后直接拼接,另外特殊情况稍加处理即可。
#1764 简单模拟,编程竞赛记分,只要求输出最后胜出者的题数和 penalty。
#1804 推箱子,推土机,并不繁琐的模拟。注意读题,如果出现位置不够,推土机会被顶停。
#1975 画分形图。类似于 2423 的做法即可。
#2108 模拟电梯的运行,策略是给定的,因此直接模拟即可。
#2161 蜂巢状直接最短路,先按照序号求出坐标,这可以参照 1954 Bee Maja,然后根据两个坐标求出最短的两段折线构成的路径。假设两段路径长度为 a 和 b,那么结果是 C(a, b)。
#2164 洗牌,简单模拟题,不用多想,直接硬搞。
#2173 流布局,很水的模拟题。
#2183 比较水的模拟,读清楚题目就好。
#2187 图像缩放,超简单模拟题,几层 for 就可以搞定的事。
#2235 策略已经给出,那么直接模拟就可以了。
#2240 字符串压缩:恶心英语阅读题,比较水,具体翻译的规则见标程注释。
#2311 同 2971,英文句子转阿拉伯数字。
#2312 蘑菇题,画板的模拟,关键在于字符的组合规则,先把字符的组合规则包成函数,然后画一个字符上去就只须与原来的字符组合就行了。
#2409 纸牌的蘑菇题,创建比较准则,生成所有排列并检验即可。
#2420 给出某一天是几年几月几日星期几,然后问它后面的第 n 天是几年几月几日星期几,模拟硬搞就是。
#2423 画一个分形图,一个便宜的做法是,先把字符矩阵全部生成出来,放在内存里,然后再输出左上角的子阵。
#2495 五子棋局势判定,枚举起始点,然后对于每个点检测是否(右/下/坐下/右上)具有连续的棋子即可。
#2508 小蘑菇一道,Windows 的窗口点击。枚举即可,需要注意的是连击的逻辑关系。
#2529 特殊进制加法,直接用 vector 运算进位,每位的进位权注意就行。
#2521 模拟足球联赛积分,只是操作上有一点麻烦,也比较简单。
#2571 字符串解压缩,可以用递归来解开,然后直接输出。
#2572 中文字,连通块搜索,注意各个字符表示的传递方向做个方向表 DFS 就好了。
#2593 英语阅读+超级蘑菇,编程竞赛排名的模拟,读清楚那些麻烦的规则,然后一点一点写就是。
#2613 竞标,如果一个价格有多个人竞标,该价格无效,选取竞标价唯一的竞标胜出,否则,冲突数最少的价格胜出,胜出者为第一个竞标该价格的人。
#2635 矩阵索引加密,把矩阵生成出来转置读取就行了。
#2680 角度的转化,比较明显,要考虑到时针非整格的情况,但千万不要用浮点就是了,宁可整倍扩大,否则会引入精度误差。
#2731 Josephu 问题变种,先模拟,模拟到当前要杀掉 Josephus 的时候停止,然后,假设剩下 x 个,那么用 J 函数求出 x-1 剩下最后一个的编号是多少。详见代码注释。
#2732 典型英语阅读 + 模拟,规则很繁琐,但是没什么算法的。具体规则翻译见代码注释。
#2741 关于足球越位规则的判定,注意如下几点:1. 用浮点;2. 输入之间可能有相当多的多余空格;3. 在自己的半场,理解为 x<=0 。
#2743 泡泡龙,不是很难的,搜索一下连通块即可。
#2772 剩下的钱里面,优先先提取最大面值的硬币,容易证明这样贪心的最优性。
#2782 直接模拟各个操作即可。
#2814 简单模拟,读懂题就好,给一个字符串,按照不同的间隔 D 为等级抽取所有字符对,假如在所有等级中这样的对没有重复的,就是 surprising,反之不是。
#2831 蘑菇版 A+B,除了硬搞还是硬搞了。
#2835 幻方验证,没什么好说的。
#2840 模拟搜索,枚举一遍所有文件检查是否符合即可。
#2851 文本扫描,删除不必要的空白字符,看题吧,很水。
#2892 小波变换,相当于加密,给出规则和暗文求明文。
#2902 十滴水小游戏,用个任务队列乱搞即可。注意空格中或者玩家水箱中没水时,操作要忽略。 
#2910 足球计分,格式上处理也有一定麻烦,总体来说也不难搞。
#2934 因为总是会循环的,因此把所有情况都走一遍就好,最坏不过 2^16。
#2954 给出一组汉诺塔操作序列,输出结果状态,简单。
#2958 纯蘑菇题,求可能的数码组表示,反正用巧妙点的方法就可以避免复杂的代码。其中一个技巧就是用 9 个二进制位表示一个数码。于是就可以通过位与求知一个数码是否能由另一个数码识别错误而来的。
#2971 英文单词数字转阿拉伯数字,比较好搞啦,不过有个变态版本,2698。
#2989 螺旋加密,注意找个好的枚举方法就行。
#2990 螺旋解密,同上,这两题都不难搞。
#2992 猴子天平,结论很简单,最大深度为 h,结果就是 2^(h-1)
#3009 Excel,记忆化搜索,记录每个格子的串或值进行递归,比较烦琐。
#3048 模拟消除方块的游戏,记得以前那个快译通的机子上玩过,直接 DFS 最大的连通块消掉然后方块下落,如果有空行右边向左平移,跟 3055 有点像,稍为简单一点。
#3050 七段码识别数字,用 set 记录所有线段,根据线段的数目和查找某些特定位置的线段是否存在进行判别。
#3052 机器人与垃圾堆:1.分象限处理,2.对于垃圾堆,删除它能影响到的机器人,3.碰撞事件队列判断。详见解题报告。
#3055 对对碰,考虑方块的下落,模拟整个过程,难度一般。
#3106 成绩预测,注意输入输出,读明题意之后蛮力即可,没什么难度,新预测过的成绩并不需要追加到历史档案中。
#3109 解密,螺旋重排。
#3151 模拟题,判断两个骰子是相同的或者镜像关系还是完全不同的。第一步就是读入,将骰子类构造旋转的函数,然后用 DFS 每次将骰子按指定方向旋转之后将数字填在顶面。将骰子读入之后,通过旋转枚举所有面向上,然后在作四次旋转跟另一个骰子比较。
#3179 算盘,先按照算盘形状读出实际数字,然后再验证即可,比较简单的一道题。

搜索
#1008 经典搜索,压缩数值完全相同的方块即可 AC。
#1118 多维空间搜索,其实也就是一般的图 dfs,只要做一个映射。这里我是硬搞的。
#1505 跳棋,状态压缩广搜,时间差不多,应该刚刚好的。
#1598 国际象棋,单后杀王,把可达格子枚举一下状态就行,8X8 很好对付。
#1832 字符串搜索,把一组字符串配对,使得合并之后相同。先对所有串 V[N] 字典序排好序,枚举前缀V[i],那么必须 V[i] 是 V[i+N/2-1] 的前缀,否则剪掉,然后找到长度能与 V[i] 配对的后缀 V[j],得到 Pattern,然后 DFS 回溯验证。
#2100 播种,本质是一个哈密顿路的问题,范围还比较小,直接 DFS 一下可以过。
#2103 周游路线,NP 的搜索,注意搜索的起点和回溯的条件,如果有奇度点,则必从奇度点开始搜索。
#2165 地图连通块搜索,BFS 或者并查集都行。
#2203 搜索 + 剪枝:求一个 1..n 的排列,使得任意相邻 2..d 个数之和均为素数。
#2207 中位排列,给 5 个字母的排列,求某个排列使得它到所有给出的排列距离最短,直接枚举所有排列即可,这用 STL 的 next_permutation 硬来最好了。
#2243 笛卡尔树的构造,有线性的方法,详细方法参见 TopCoder 算法教程里面 RMQ & LCA 那篇文章有介绍。
#2274 好变态,一直都是在优化一个常数因子:构造一个图邻接矩阵 X[1..N][1..N],X[i][j] 表示 A[i] A[j] 是否互质;同时构造一个邻接表存 X[i][j]==true 的部分 和 X[i][j]==false 的部分。然后枚举顶点 i,从邻接表中枚举另外两个 j,k,看邻接矩阵 j,k 是否相邻 
#2406 求一个图从源到汇的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值