摘要:
其实就是一个爆搜加剪枝。直接爆搜肯定不行,而A*算法则是想假如剩下都是最优的话,我当前步数还是不足以达到这个状态,那么就直接返回,因为最优状态也无法做到显然不行。 这道题可以用A*最主要就是因为有15步上限这样的明显条件。 还有一个小优化,就是 就是这个dx和dy的枚举顺序,不知道为什么,这样枚举就 阅读全文
摘要:
就是基于普通数独上的一点变形,然后就没什么了,普通数独就是进行一边dfs就行了。 题干: 题目描述 输入格式 输入一共15行,包含一个新数独的实例。第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v)。 输出格式 输出包含9行,每行9个1~9的数字,以单个空格隔开。输入保证解惟 阅读全文
摘要:
就是一道最短路的裸题,直接跑spfa就行了。(spfa死了) 最后在答案处判断是否障碍物太多,然后就直接找最大值就行。 (数据特别水,我错误算法60) 题干: 代码: 阅读全文
摘要:
平衡树题,求每个点的前驱,照例可以用set水过。。。(平衡树还是不会写) 又新学了一个用法: set <int> ::iterator s1; 这样s1就可以直接附为set中的地址了。但是调用值的时候要加一个*。 题干: 代码: 阅读全文
摘要:
其实就是并查集的题。维护一个前缀和,然后用并查集维护前缀和,每次判断是否合理就行了。 题干: 代码: 阅读全文
摘要:
想明白算法之后特别水,因为b只有可能出现一次,所以直接在b的左右找就行了,比他大的为1,比他小的为-1,然后维护前缀和就行了。 假如b有可能出现多次呢?按照这种方法好像也很好办,就是枚举每个点就行了,复杂度有点大,所以直接求一遍前缀和就行了。 题干: 代码: 阅读全文
摘要:
原来做过,看大家都做这道题都热情高涨,沈爷爷debug这道题4天,作为告诉他这个题的人,我还有点不好意思。。。我自己也就做了一个小时。 其实这个题思路还好,就是维护每个点的出块次数和跳出块的位置,然后访问的时候直接调用块。 这个题还有一个比较坑的地方,就是每个绵羊只有到队尾的时候才会被弹飞,所以不用 阅读全文
摘要:
先检讨一下,前一段时间开学,做题懒得发博客,也不总结。。。现在捡起来。 这个题一看是裸的二分图匹配,但是仔细一看还有一些区别,就是必须要连续的连接,否则直接退出。因为前一道题答不出来的话后面的题就没有机会了。 顺便练一下匈牙利算法,跑二分图还是很好写的。 题干: 代码: 阅读全文