自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dream of Decision

Rainbow Sea

  • 博客(50)
  • 收藏
  • 关注

原创 UVa 815 Flood! (习题4-10)

只能靠水题维持生活的样子将数据存在一个一维数组中,然后排序为了避免负海拔影响,记录一下最低海拔,然后将每个格子的海拔都减去最低海拔,那么最低的就变成0然后最后答案再加上去还有自己的一个坑点就是x在循环后会变成x=m*n+1,导致覆盖的地方超过100%那么特判一下就行了 玄学RE,点错了题目题目:https://vjudge.net/problem/UVA-815...

2018-11-08 23:00:53 170

原创 UVa 1590 IP Networks(习题4-5)

这道题也是卡了我的一道题。。。主要卡在没注意1<<32的时候直接变成0了。。导致异或的时候出现错误然后存储ip我直接用unsigned long long存的,这样方便处理,但是没有想到后面那个位运算错误。。如果当时用数组的话可能方便很多。。一开始的确想用数组来着。。但是觉得数组麻烦。。没想到用整数直接存会有这么一个沙雕bug特例数据:20.0.0.0...

2018-11-06 17:33:13 169

原创 UVa 1589 Xiangqi (习题4-1)

经历了三天的拉锯战终于搞出来了一开始写的是标记红方占据的位置,后来直接改用多个函数调用检测是否被将军移动四个方向来检测是否有棋子可以将军,如果都不行的的话就是被将军了其中用了两个函数来返回两个棋子之间的相对位置然后将要检测的棋子按照那个方向移动但是又WA了很多次,ubebug上的数据也可以过,一直找不到错误最后通过python生成了1000组数据在udebug上面跑才发...

2018-11-04 16:07:15 185 1

原创 UVa 253 Cube painting 骰子涂色(习题4-4)

A题会让人上瘾。。骰子这个题好像还有一个群论的做法??记不清了 思路:如果两个骰子相同,那么可以通过变换把两个字符串变成一样的那么先把骰子按照1-4-6-3的顺序(方向可逆可顺)旋转,旋转4次,每次都旋转侧面4次,每次旋转检测,只要有一次字符串相同,骰子就是相同的如果还没有,再按照1-2-6-5的顺序(方向可逆可顺)旋转,再做上面的变化最后flag为1就输出TRUE...

2018-11-02 16:10:42 235

原创 UVa 220 Othello 黑白棋 (习题4-3)

做完这道加上前面两道,这一章果然都是调用函数的。。。自己写一堆函数来搞写的过程中甚至觉得自己可以考虑写一个黑白棋的游戏了233 主要还是一个模拟其实做了象棋那题的话会发现和象棋那题差不多,也是一堆函数堆出来的象棋那题有一个思路就是需要对不同棋子也不同的函数通过三个函数分别检测某一行,某一列,某一斜行是否合法然后通过一个函数来检查8次该位置是否合法再来几个函数用来...

2018-11-02 14:49:04 261

原创 UVa 201 Squares (习题4-2)

时隔一年之后继续搞这些东西 然后开始复习以前的内容,把以前高中没写的题好好的搞一下。。紫书第四章的习题以前就直接没写过,然后昨天调象棋调了一天还是疯狂WA,看到网上正解有400行。。真jier可怕然后先把那题放一放,主要还是调用函数比较多,改天再重新写一下 Squares这个题以前还是想的太复杂了。今天上去教室的途中突然想到这么一个n^3的算法然后看了一下数据范围2&l...

2018-11-02 09:30:53 185

原创 bzoj1878/洛谷1972 [SDOI2009]HH的项链

这题想着用线段树对于我这个蒟蒻来说太难了啊。。然后看了题解知道是莫队算法。。貌似还有一个【小Z的袜子】这么一个例题实际上我觉得这题比较容易入门吧莫队算法就是优化之后的暴力,离线处理区间问题通过分块把区间进行排序,然后枚举区间,只要知道[L,R]中的ans,那么就可以得出[L+1,R],[L,R+1],[L,R-1],[L-1,R]的ans,不过我们可以直接通过两个下标来进行对区间的

2017-06-06 01:31:17 256

原创 洛谷 P3389 【模板】高斯消元法

第一个点过不去,貌似是因为判断是否多解和无解的地方出了问题??稍作修改即可。。我懒得改了//Decision's template#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;#d

2017-05-29 23:16:24 252

原创 洛谷P2602|bzoj1833 [ZJOI2010]数字计数 数位dp

数位dp先预处理啊,然后xjb乱搞一下啊好吧其实我还是看了一下题解。。一开始弄错了统计的方法。。于是疯狂wa有关数位dp的文章的话,传送门:http://blog.csdn.net/wust_zzwh/article/details/52100392,当然是这位大犇写的了%%%%(虽然百度也可以找到)题解(有抄题解嫌疑的我)://Decision's template#inclu

2017-05-18 13:25:07 331

原创 洛谷 P1262|P2341|P2002 强连通分量,缩点

图论强连通分量算法,个人感觉tarjan相比两次dfs好写一点(个人看法)这三道题都在学了强连通分量算法之后都比较基础,貌似都要判断一下缩点之后每个点的入度?P1262 间谍网络题意:直接复制一下数据的输入格式这里,还是比较好理解的吧第一行只有一个整数n。第二行是整数p。表示愿意被收买的人数,1≤p≤n。接下来的p行,每行有两个整数,第一个数是一个愿意被收买的间谍的编号

2017-05-06 01:01:51 525

原创 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)的情况那么显然有(仔细想一下或者手玩一下)则反演之后就是 那么我们

2017-05-06 00:48:16 334

原创 bzoj2428 [HAOI2006]均分数据

一开始想了一个用优先队列的贪心,只能在洛谷过三个点(我还是too young too simple)。。。所以在网上看了一下模拟退火模拟退火之前在网上也看到过这个算法吧,但是一直都没有学,觉得难就没学,其实仔细看一下还是比较简单的这题就是模拟退火的一个裸题,先上代码,详细的后面再补//Decision's template#include#include#includ

2017-04-18 14:01:26 304

原创 UVa 10905 Children's Game

字符串。。。直接排序(如果用字符数组储存不便于排序) #include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#include<stack>#incl

2017-02-14 14:06:43 294

原创 【模板】二叉查找树

果然这些数据结构还是要自己写一遍才熟悉啊。。。这次也是加深了我对指针的认识,以前都不怎么注意的二叉查找树二叉查找树,每一个节点有左右儿子,然后这个节点的值大于左儿子,小于右儿子,那么根据定义不难得出代码,先配个图以便于理解(网上也有不少)~二叉查找树一共有三种操作:查询,删除,插入结点结构体:struct Node{ Node *lchild,*rchild

2017-02-14 13:53:14 258

原创 UVa 10340 All in All

直接暴力模拟即可。。(好像还可以dp???)#include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#include<stack>#include&amp

2017-02-14 12:55:11 173

原创 UVa 11039 Building designing

一开始没看到是选数,,,就以为是dp,但是后来看到是选出来排列,那么直接按照绝对值排序之后就加判断就好了。。。 #include<cstdio> #include<cstring> ...

2017-02-14 09:36:47 216

原创 UVa 232 Crossword Answers (习题3-6)

字符串的一道模拟题吧,小小的思考一下= =(虽然因为一些原因我也WA了几次) #include<cstdio>#include<cstring>#include<iostream>#include<cstdlib>#include<vector>#include<queue>#include<sta...

2017-02-10 23:25:46 206

原创 【模板】Trie树模板

Trie树,是一种树形结构,是一种哈希树的变种。典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计。上面是百度百科找的,trie树=字典树=前缀树,下面就说说前缀树的实现。首先trie树的根必定是一个空节点,每一条边代表了一个字符,每一个节点有多种可能,那么我们可以使用一个数组来达到这个目的;同时,每一个单词(字符串)的最

2017-01-21 16:56:56 338

原创 【模板】高精度取余函数

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;

2017-01-20 14:20:30 397 1

原创 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

2017-01-20 00:51:54 217

原创 UVa 455 Periodic Strings(习题3-4)

这几天一直都没有写代码,主要是有点事情还有就是忙着复习期末考试,所以说最近一段时间都会很少更新了这道题的话是比较水的,但是因为我在写代码的时候还有有的地方思路没有想清楚,重复了几次才过的一开始想的太简单了,直接枚举判断,后来才慢慢修改,还有就是判断的后面不要加上分号,有时候不细心真的看不出来代码:#include#include#includeusing namespace

2016-12-14 23:49:40 223

原创 UVa 1225 Digit Counting(习题3-3)

代码之前发过c语言版本的,这回重新发一次,相当于是补充吧这个应该不算是字符串的处理了吧,从1开始枚举到n,然后每个数字分别出现的次数先把数字取模10之后ans数组++,然后数字再陈10直到数字为0代码:#include#include#includeusing namespace std;int ans[11];int s;int main(){ int n;

2016-12-06 13:57:19 193

原创 UVa 1586 Nolar Mass(习题3-2)

这道题的关键点应该就是在原子符号中间的数字的地方了吧注意之前出现过的原子在接下来也会出现 统计原子数量,计算没记错的话这道题好像借鉴了之前网上的一个代码代码: #include&lt;cstring&gt;  #include&lt;iostream&gt;  #include&lt;iostream&gt;using namespace std;    const...

2016-12-06 13:42:43 226

原创 UVa 1585 Score(习题3-1)

一道比较水的题目,很久之前自己写了代码的所以直接复制上来吧关键的地方就是计算'O'连续出现的次数才发现之前已经发过一遍了,那么这个就当是完善一下之前一些地方吧代码;#include#include#includeusing namespace std;int main(){ int k; cin>>k; while(k--) { char s[100];

2016-12-05 14:02:58 165

原创 UVa 1584 Circular Sequence(例题3-6)

中午来水一道。。。。环形序列,只要能够比较字符串还有表示出以某个字符串开头的比较方式的话这题就简单了字典序的意思这里也不多说,书上也有代码:#include#include#includeusing namespace std;int check(char* s,int m,int n){ int sum = strlen(s); for(int i = 0;i<sum

2016-12-05 13:58:18 216

原创 UVa 1583 Digit Generator(例题3-4)

这道题主要就是了解生成元的意思,那么很容易想到直接求,但是可以优化成为一个查表的问题。。就好像今年noip的D2T1(虽然我只水了个暴力分)枚举100000以内的生成元,查表,输入就可以了,PS:注意数组all代表的意思代码:#include#include#includeusing namespace std;int all[100000+10],n,tmp;int

2016-12-04 23:47:39 209

原创 *UVa 340 Master-Mind Hints(例题3-4)

为什么要加星号?因为这道题的算法和书上大致上是差不多的,不一样的地方是我把输入数组换成读入的时候统计而已但是在oj上一直通不过,这我就很懵逼了,也不想把书上的代码打一遍,反正基本上差不多,自己对照一下书上吧至于为什么是取最小的一个?应该是“同时出现”,所以取比较小的数据相加得到数字的贡献PS:如果发现代码有哪里出现问题请在评论里联系我,谢谢,因为我自己也不知道哪里的问题,oj上的测试数

2016-12-04 00:22:45 224

原创 UVa 401 Palindromes(例题3-3)

这个题我提交了三次才过。。。为什么呢?因为在写all数组的时候空格位置不太对,然后就是在msg的某个数组的地方少了一个逗号。。(细心。。一定要细心。。)主要的话,还是在镜像串的处理上面,回文串直接枚举中心就行了,回文串用一个数组来替换就行代码:#include#include#include.using namespace std;const char all[]="A

2016-12-01 14:00:55 213

原创 UVa 10082 WERTYU(例题3-2)

和上一题一样,可以边读入边判断,但是要注意换行符的处理,一开始没注意就直接cout空格,没有注意换行符,关键还是处理换行符然后键盘的处理的话就是按照自己的键盘敲一遍可输入区域就可以,之后就可以直接判断是否要输入前一位#include#include#includeusing namespace std;char all[]="`1234567890-=QWERTYUIOP[]\\

2016-12-01 00:05:46 246

原创 UVa 272 Tex Quotes(例题3-1)

为什么又倒回来重新开始?因为想试试冲一冲noi,复赛在弱省水了一个一等,然后想去试试noi吧,然后想把之前大部分错过的知识点补回来,慢慢来咯。主要还是用了getchar()函数.例题思路,边读入边判断#include#include#includeusing namespace std;int main(){ int c,q = 1; while((c=getchar()

2016-11-30 23:40:19 191

原创 UVa 10970 Big Chocolate

复赛也快到了,也就只能水水题了。。。一开始看到这个题还不相信有自己想的那么简单,网上看了一下题解,都和自己想的差不多,找规律#include#includeusing namespace std;int m,n;int main(){ while(cin>>m>>n) cout<<m*n-1<<endl; return 0;}

2016-11-14 23:38:08 183

原创 UVa 11636 Hello World 水题

思路:题目要求输出要复制多少遍达到n 那么全部复制粘贴是不是最快的 所以一直除2就可以了 注意特殊情况代码:#include#includeusing namespace std;int k,cnt=0;;int solve(int n){ int ans = 0; int tmp = 0; if(n==1) return 0; if(n==2) return 1; w

2016-11-02 23:17:41 251

原创 UVa 524 Prime Ring Problem (例题7-4)

这道题。。意思是比较明确的 但是自己写的时候在循环后面加了一个分号 导致数次不过。。妈的智障。。题目来源:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=&problem=465思路:递归调用 判断是否用过并且是否素数代码:#includ

2016-09-20 00:17:45 225

原创 UVa 10976 Fraction Again?! 分数拆解 (例题7-3)

枚举y则x=k*y/(y-k)    一一枚举出来然后用不定长数组#include#include#include#includeusing namespace std;vector tx;vector ty;void solve(int k){ for(int y = k+1;y<=2*k;y++) { if(k*y%(y-k) == 0) {

2016-09-17 00:03:21 272

原创 Permutation全排列算法

在洛谷上看到的一个题,求1-n的全排列,虽然看着挺简单,但是最后还是觉得比较绕脑,思路:一个数组保持已经排列的数,然后用一个函数检测是否已经排过,只需要检测当前排列的数位置前面的数组是否已经出现就行了代码:#include#includeusing namespace std;int maxn,tmp[20],all[550000][15],ans=0;bool seach(

2016-08-13 18:45:31 332

原创 UVa 11059 Maximum Product 例题(7-2)

思路:枚举起点和终点,同时对比最大值代码:#include#include#includeusing namespace std;long long n,kase = 0,num[25];void solve(){ long long maxn; for(int i =0;i<n;i++) cin>>num[i]; maxn = num[0]; for(int i =

2016-08-13 17:33:40 194

原创 UVa 725 Division(例题7-1)

按照书上的思路枚举fghij即可代码#include#include#includeusing namespace std;int n,tmp[1000],num[15],flag = 1,yes = 0;void solve(){ yes = 0; for(int i = 1000;i*n<=99999;i++) { flag = 1; //num[10] =

2016-08-13 16:53:56 201

原创 UVa 439 Knight Moves 骑士的移动

思路:BFS求最短路,遇到终点直接结束#include#include#include#includeusing namespace std;int d[8][2] = {{1,2},{1,-2},{-1,2},{-1,-2},{2,1},{2,-1},{-2,1},{-2,-1}};int begin1,begin2,end1,end2;int chess[8][8];str

2016-08-13 16:37:38 305

原创 UVa1225 Digit Counting 数数字

代码: #include int c[10000][10]; int main() { int i, k, t, n; for (i = 1; i < 10000; ++i) { for (k = i; k; k /= 10) ++c[i][k % 10]; for (; k < 10;

2016-08-10 14:07:55 446

原创 UVa 712 S-Trees S树

一开始脑子比较乱,写了一堆代码都不对,直接删了重来思路:字符串保存叶子,用映射代表各个节点,用整形n来保存当前节点位置,最后输出代码:#include#include#include#include using namespace std;int deep;string leaves,order;map m; char solve(const string& c){ i

2016-08-09 18:57:08 213

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除