-
http://poj.org/problem?id=2251 简单bfs,只不过是三维的。。。 唯一的坑点在输出上... Escaped in %d minute(s) 这意思是答案为1输出minute,不为1输出minutes还是说是不是1都输出minute(s)? 试了下,答案是后者。 另:终于找到了好的读地图的方法。。。而不用担心回车符。 就是先读成字符串。 具体见代码 1 2 3 /************************************************************************* 4> File Name: code/2015summer/searching/B.cpp …
Read More -
http://codeforces.com/contest/558/problem/C 题目大意是说,给定N个数,可以对任意数进行任意次两种操作,×2,和/2(整除) 问最少操作多少次,可以让所有数相等。 嘛,前半个小时A掉了前两个提,d E貌似都是线段树。。并不会。。。就一直搞C。。。。 然而并没有做出来。位运算是什么神奇的黑魔法。 转载一份题解:http://blog.csdn.net/qq_24451605/article/details/46906813 思路是声明两个数组,一个数组表示到达i的步数,另一个数组表示n个数中能够达到i的数的个数(包括本身) 1 2 …
Read More -
http://poj.org/problem?id=1564 dfs 三个参数 x,sum,k, x表示开始的坐标,sum表示当前的和,k表示这是一组答案中的第几个数,是用来记录路径的... 调了好久没写出来...我写完之后答案会有重复.一开始想开一个boolean数组记录,这样第一组样例的3+1就只会输出一遍,但是这样,2+2就不会被记录到答案中了. 然后看了下别人的代码... 卧槽,只是加了个判断...当前的数和上一个如果不同,就继续dfs.... 我为何就没想到...这特么是判断重复的直译啊.... 1 2 …
Read More -
hust2015暑假集训 0713 A a dangerous trip
Jul 13, 2015 · 1 min readhttp://acm.hust.edu.cn/vjudge/contest/view.action?cid=82557#problem/A Zk的解法:拆点,把每一个点存成两份,r[i]和r[n+i] 连边的时候如果u和v相连,我们就分别连 u&&v; 和 u+n&&v;+n 和 u&&v;+n 其中最后一个存法是要使用魔法的情况... 最后求从1到n+n的最短路径即可 如图 斜着的边表示使用魔法的情况。 由1到n+n,只经过一次斜边,这是与题干中只使用一次魔法相对应的.... 由于权值变成一半可能出现浮点数... 我们不妨先 权值先整体*2 最后结果的时候再/2 zk好聪明(逃) 然 …
Read More -
cf 556C Case of Matryoshkas
Jul 12, 2015 · 1 min readhttp://codeforces.com/contest/556/problem/C 果然一晚上不睡觉会导致读错题么... 需要注意的是 如果有一个是 1 2 4 6 那么 1,2是不必拆开的.... 然后我们发现,只有以1为开始且连续的套娃不必拆开.... 可以先假设所有都需要拆开,那么一共需要 2*n-k-1次 然后如果有以1为开始连续的,拆的时候少拆一次,装的时候少装一次,所以ans=ans-2 但是需要注意的是....如果只有一个1,比如1 3 5 也算成了长度为1的以1开始连续的,但是这并没有什么卵用....所以最后答案记得ans+2 1 …
Read More -
最大连续区间和的算法总结
Jul 11, 2015 · 1 min read最大连续区间和是一个经典的问题。给定一个长度为 n 的序列 a[1],a[2]...a[n-1],a[n],求一个连续的子序列 a[i],a[i+1]...a[j-1],a[j],使得 a[i]+a[i+1]...a[j-1]+a[j]最大。 ① 最简单最容易想到的就是根据定义来枚举。 枚举上下界{i,j | 0<=i<=j<=n},维护一个 max 值即可。 其中枚举上下界的时间复杂度为 O(n^2),求区间和的复杂度为 O(n),所以总时间复杂度为 O(n^3)。 1for ( i = 1 ; i <= n ; i++ ) 2for ( j = i ; j <= n ; j++ ) 3ans = …
Read More -
http://poj.org/problem?id=3278 bfs,用到了stl的queue 1 2 3 /* *********************************************** 4Author :111qqz 5Created Time :2016年02月19日 星期五 15时45分05秒 6File Name :3278.cpp 7************************************************ */ 8 9 #include <algorithm>10 #include <cstdio>11 #include …
Read More -
http://poj.org/problem?id=1028 1 2 3 4 /* *********************************************** 5Author :111qqz 6Created Time :2016年02月19日 星期五 15时45分01秒 7File Name :1028.cpp 8************************************************ */ 9 10 #include <algorithm>11 #include <cstdio>12 #include <iostream>13 #include …
Read More -
题目链接:http://poj.org/problem?id=2643 在考stl的map... 我是定义了一个string 指向string的,表示参选人和党派的关系,和一个string 指向int的,表示某个党派被投票的次数。 需要注意的是!!! 需要注意的是!!! 需要注意的是!!! 字符串读入部分... 在输入n和m之后,会有一个回车符没读进去...(大概是这样?) 如果不处理一下的话,后面的字符串就会少读入一个...(sad) 解决的办法是在读完n和m之后写一个getchar(); 把回车符读掉。 1 2 3 /* *********************************************** …
Read More -
http://acm.hdu.edu.cn/showproblem.php?pid=1908 看到有两个优先级,然后题目中又有queue。。。就想到了优先队列。。。 但是优先队列的cmp函数没搞懂,因为比较的是结构体,好像要重载< 什么的。 然而并不会。 其实用map就可以做。。。 map在插入的时候可以自动按关键字排序,简直好评如潮! 1 2 3 /* *********************************************** 4Author :111qqz 5Created Time :2016年02月19日 星期五 15时44分06秒 6File Name :3481.cpp …
Read More