1.试着埋头搞专题,看能不能提升效率。
2.顺便当是复习了蓝桥杯了。
专题一:简单搜索
开始时间:2021-04-01 13:18:38
完结时间:2021-04-03 15:19:29
1)看起来只用了两天的样子,看来有目标就是不一样(不过好像更关键的因素是这本来就不是一套难的专题emmm)。
2)废物才需要刷成就感,没错,虽然不想承认,但是,,,,。
希望刷完"kuangbin带你飞"我就没资格称为废物了。
2020年1月入坑以来,有好多次机会,我都可以以专题训练为主,可以一直不想去较真,想到哪里刷哪里,难了立即溜,以至于现在还是这废物样子(cf最高1705)。
现在开始,刷专题罢,先刷kuangbin(等快结束了立个flag——三个月不刷完,这辈子也就是个平庸的人了),争取暑假前解决所有(怕是得平均两周三个专题,五月来看看,刷了多少了?)
——专题中我很多都还没有学,比如各种DP(DP弱到令人发指),比如网络流,(后缀数组也只是简单了解了以下,并没有深入刷过题目)。
1.POJ-1321-棋盘问题:暴力,搜索,bfs
题意:n*n(n<=8)棋盘,'#'的地方可以下,每一行,每一列最多只能有一颗棋。问刚好下k颗棋的满足条件的总数(每颗棋无差别)。
题解:直接暴力,注意不要重复搜索。时间复杂度不会大过8^8吧。
代码:我自己看的话点题目的链接就好了。粘贴在这里太繁琐,就没弄了。
2.POJ-2251-Dungeon Master:三维bfs
玛德,这都能弄错,我也是服了:node(int _x,int _y,int _z){x=_z,y=_y,z=_z;}//最惨的是误以为是一道难题。
3.POJ-3278- Catch That Cow:bfs
题意:n->m。都在0~1e5。两种操作x:x+1/x-1;x:2*x。问最少时间使n==m。
题解:直接bfs,一眼看出来的那种
4.POJ-3297-Fliptile:暴力,二进制,枚举答案(第一行的答案)+贪心
题意:迷的很,就是给一个n*m(0~15)的矩阵,只有0/1。每次反转一下方块,周围四个(可以公用边的方块)也会跟着变。问最少的反转方式,使所有数都变成0(这里给我读蒙了才读出来),而且还要使字典序最小的方式。如果不能就直接输出"IMPOSSIBLE"。
题解:大佬代码。一般看思路,主要是懒得看代码,实在看不懂思路才看代码帮助理解,自己实现也还是有好处的。
1)枚举是最暴力的搜索方式。
2)枚举第一行,然后贪心(其实这里的贪心还是没有完全理解,但是大体来说是理解了)。贪心策略:只有当b[i-1][j]为1是才以(i,j)为重心反转点。
3)一种新的解题思路思路:枚举答案+贪心
5.POJ-1426-Find The Multiple:dfs,bfs,模拟
题意:给定一个在1~200内的数,输出一个能被它整除的数,而且这个数的十进制必须只包含数字0或1.
题解:由于对复杂度的错误判断,导致一直以为不能够直接暴力模拟。于是一直yy新做法,好在是yy出来了。(太弱了,每当遇到不能一眼看出答案的题就慌了,yy力不够,简单题做太多了emmm)。
1)dfs:直接暴力20位能解决所有,另外取余也是个比较巧妙的操作。
2)bfs:模拟(19*9=171,1扔了17需要x4余数变成1,,,,,没想完整,但是大概就这样。思路厘清应该也不难。。。)
6.POJ-3126-Prime Path :bfs,暴力,素数,埃氏筛
题意:给定两个数a,b(1000~9999),a,b都是素数,一次可以改变a中一个数位的数字,比如1234->1235/5234/1224,但是要求改之后还是素数。问最少多少次能将a改为b,如果不能,就输出"Impossinle"。
题解:就暴力bfs
1)埃氏筛1e7也才4e7。实际上不需要欧拉筛。至于操作,都挺简单,埃氏筛的拓展,简直牛逼。
2)暴力出奇迹!!!!!!!!!!!!!!!很多之后,不知道解法的,都可以暴力解决。
7.POJ-3087-Shuffle'm Up:简单模拟(简单地让人怀疑)。
8.POJ-3414-Pots:bfs,暴力,模拟
传送门(题意&代码)//私以为这种方式很nice111。
9.FZU-2050-Fire Game:bfs,双起点bfs,暴力
10.UVA-11624-Fire!多起点bfs
11.POJ-3984 -迷宫问题:bfs,路径
就没有题解了,很简单,就是一个左上角到右下角的最短路径。
找个连通块就ok了,题意也简单。
13.HDU-1495-非常可乐:直接暴力bfs
题解传送门。其实,感觉也没多大好说的。
14.HDU-2612-Find a way:还是bfs,一年前就做过了