UVa 815 Flood! (习题4-10) 只能靠水题维持生活的样子将数据存在一个一维数组中,然后排序为了避免负海拔影响,记录一下最低海拔,然后将每个格子的海拔都减去最低海拔,那么最低的就变成0然后最后答案再加上去还有自己的一个坑点就是x在循环后会变成x=m*n+1,导致覆盖的地方超过100%那么特判一下就行了 玄学RE,点错了题目题目:https://vjudge.net/problem/UVA-815...
UVa 1590 IP Networks(习题4-5) 这道题也是卡了我的一道题。。。主要卡在没注意1<<32的时候直接变成0了。。导致异或的时候出现错误然后存储ip我直接用unsigned long long存的,这样方便处理,但是没有想到后面那个位运算错误。。如果当时用数组的话可能方便很多。。一开始的确想用数组来着。。但是觉得数组麻烦。。没想到用整数直接存会有这么一个沙雕bug特例数据:20.0.0.0...
UVa 1589 Xiangqi (习题4-1) 经历了三天的拉锯战终于搞出来了一开始写的是标记红方占据的位置,后来直接改用多个函数调用检测是否被将军移动四个方向来检测是否有棋子可以将军,如果都不行的的话就是被将军了其中用了两个函数来返回两个棋子之间的相对位置然后将要检测的棋子按照那个方向移动但是又WA了很多次,ubebug上的数据也可以过,一直找不到错误最后通过python生成了1000组数据在udebug上面跑才发...
UVa 253 Cube painting 骰子涂色(习题4-4) A题会让人上瘾。。骰子这个题好像还有一个群论的做法??记不清了 思路:如果两个骰子相同,那么可以通过变换把两个字符串变成一样的那么先把骰子按照1-4-6-3的顺序(方向可逆可顺)旋转,旋转4次,每次都旋转侧面4次,每次旋转检测,只要有一次字符串相同,骰子就是相同的如果还没有,再按照1-2-6-5的顺序(方向可逆可顺)旋转,再做上面的变化最后flag为1就输出TRUE...
UVa 220 Othello 黑白棋 (习题4-3) 做完这道加上前面两道,这一章果然都是调用函数的。。。自己写一堆函数来搞写的过程中甚至觉得自己可以考虑写一个黑白棋的游戏了233 主要还是一个模拟其实做了象棋那题的话会发现和象棋那题差不多,也是一堆函数堆出来的象棋那题有一个思路就是需要对不同棋子也不同的函数通过三个函数分别检测某一行,某一列,某一斜行是否合法然后通过一个函数来检查8次该位置是否合法再来几个函数用来...
UVa 201 Squares (习题4-2) 时隔一年之后继续搞这些东西 然后开始复习以前的内容,把以前高中没写的题好好的搞一下。。紫书第四章的习题以前就直接没写过,然后昨天调象棋调了一天还是疯狂WA,看到网上正解有400行。。真jier可怕然后先把那题放一放,主要还是调用函数比较多,改天再重新写一下 Squares这个题以前还是想的太复杂了。今天上去教室的途中突然想到这么一个n^3的算法然后看了一下数据范围2&l...
bzoj1878/洛谷1972 [SDOI2009]HH的项链 这题想着用线段树对于我这个蒟蒻来说太难了啊。。然后看了题解知道是莫队算法。。貌似还有一个【小Z的袜子】这么一个例题实际上我觉得这题比较容易入门吧莫队算法就是优化之后的暴力,离线处理区间问题通过分块把区间进行排序,然后枚举区间,只要知道[L,R]中的ans,那么就可以得出[L+1,R],[L,R+1],[L,R-1],[L-1,R]的ans,不过我们可以直接通过两个下标来进行对区间的
洛谷 P3389 【模板】高斯消元法 第一个点过不去,貌似是因为判断是否多解和无解的地方出了问题??稍作修改即可。。我懒得改了//Decision's template#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#d
洛谷P2602|bzoj1833 [ZJOI2010]数字计数 数位dp 数位dp先预处理啊,然后xjb乱搞一下啊好吧其实我还是看了一下题解。。一开始弄错了统计的方法。。于是疯狂wa有关数位dp的文章的话,传送门:http://blog.csdn.net/wust_zzwh/article/details/52100392,当然是这位大犇写的了%%%%(虽然百度也可以找到)题解(有抄题解嫌疑的我)://Decision's template#inclu
洛谷 P1262|P2341|P2002 强连通分量,缩点 图论强连通分量算法,个人感觉tarjan相比两次dfs好写一点(个人看法)这三道题都在学了强连通分量算法之后都比较基础,貌似都要判断一下缩点之后每个点的入度?P1262 间谍网络题意:直接复制一下数据的输入格式这里,还是比较好理解的吧第一行只有一个整数n。第二行是整数p。表示愿意被收买的人数,1≤p≤n。接下来的p行,每行有两个整数,第一个数是一个愿意被收买的间谍的编号
bzoj1101/洛谷P3455 [POI2007]ZAP-Queries 之前看了但是没有理解的莫比乌斯函数现在找题目练练手。。。寒假里面看的当时理解不了就没有多管,导致现在写预处理函数很懵逼。。题意:给定n,m,d,求出1最简单的方法,O(n²)的暴力枚举就不用说了,但是这个数据范围肯定是过不了的。。那么我们设函数f(d)为使得gcd(x,y)=d的x,y的对数设函数F(d)为d可以整除gcd(x,y)的情况那么显然有(仔细想一下或者手玩一下)则反演之后就是 那么我们
bzoj2428 [HAOI2006]均分数据 一开始想了一个用优先队列的贪心,只能在洛谷过三个点(我还是too young too simple)。。。所以在网上看了一下模拟退火模拟退火之前在网上也看到过这个算法吧,但是一直都没有学,觉得难就没学,其实仔细看一下还是比较简单的这题就是模拟退火的一个裸题,先上代码,详细的后面再补//Decision's template#include#include#includ
UVa 10905 Children's Game 字符串。。。直接排序(如果用字符数组储存不便于排序) #include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#include<stack>#incl
【模板】二叉查找树 果然这些数据结构还是要自己写一遍才熟悉啊。。。这次也是加深了我对指针的认识,以前都不怎么注意的二叉查找树二叉查找树,每一个节点有左右儿子,然后这个节点的值大于左儿子,小于右儿子,那么根据定义不难得出代码,先配个图以便于理解(网上也有不少)~二叉查找树一共有三种操作:查询,删除,插入结点结构体:struct Node{ Node *lchild,*rchild
UVa 10340 All in All 直接暴力模拟即可。。(好像还可以dp???)#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#include<stack>#include&
UVa 11039 Building designing 一开始没看到是选数,,,就以为是dp,但是后来看到是选出来排列,那么直接按照绝对值排序之后就加判断就好了。。。 #include<cstdio> #include<cstring> ...
UVa 232 Crossword Answers (习题3-6) 字符串的一道模拟题吧,小小的思考一下= =(虽然因为一些原因我也WA了几次) #include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#include<sta...
【模板】Trie树模板 Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。上面是百度百科找的,trie树=字典树=前缀树,下面就说说前缀树的实现。首先trie树的根必定是一个空节点,每一条边代表了一个字符,每一个节点有多种可能,那么我们可以使用一个数组来达到这个目的;同时,每一个单词(字符串)的最
【模板】高精度取余函数 int bigmod(int* a,int m) //a为高精度数组,m为除数{ for(int i = 1;i<strlen(c);i++) { if(a[i]<m) { a[i+1] = 10*a[i] + a[i+1]; a[i] = 0; } else { a[i+1] = 10*(a[i]%m) + a[i+1]; a[i] /= m;
UVa 227 Puzzle(习题3-5) 这题用了不少的时间,反正就是模拟吧,最主要的地方就是字符串获取以及一些细节的地方,有的地方一不注意就会出问题#include#include#includeusing namespace std;char map[6][6];int a[4][2]={{-1,0},{1,0},{0,-1},{0,1}}; //简化代码 int x,y,cnt = 0; bool orde