http://poj.org/problem?id=3270
大致题意:给出n个整数,要将它们转化成递增序列,每交换其中两个数的代价是这两个数之和。问排序成功后的最小代价。
该题考察的是置换群知识。在黑书p247上有详细的讲解。总结下置换群,方便复习。
群:给定一个集合G={a,b,c...}和集合G上的二元运算 ·,如果满足封闭性,结合律,存在单位元和逆元,则成集合...
分类:
其他好文 时间:
2014-06-11 06:01:26
阅读次数:
365
很裸的线段树求面积并。
坐标需要离散化一下。
#include
#include
#include
#include
#include
#include
#include
#include
#pragma comment(linker, "/STACK:1024000000,1024000000")
using namespace std;
#define maxn 11000
#define...
分类:
其他好文 时间:
2014-06-10 19:23:46
阅读次数:
200
ChessboardTime Limit:2000MSMemory Limit:65536KTotal
Submissions:12800Accepted:4000DescriptionAlice and Bob often play games on
chessboard. One day, Al...
分类:
其他好文 时间:
2014-06-10 16:31:11
阅读次数:
261
http://poj.org/problem?id=1026
大致题意:给出数字n和一个1~n的序列num[]。然后给出若干个字符串,让字符串的下标i和num[i]交换,问交换K次后得到的字符串是什么。输入的字符串长度小于等于n,若小于n就用空格来补。
例如样例1
4 5 3 7 2 8 1 6 10 9
H e L L o B o b ' ' ' '
...
分类:
其他好文 时间:
2014-06-10 14:50:20
阅读次数:
213
这个题开始不会建图,彻底颠覆以前我对广搜题的想法。想了好久, 忽然想到省赛时HYPO让我做三维BFS来着,一直没做,看到POJ计划这个题,就是三维BFS解题,就做了一下, 对于这个题。。。。实在不知道说什么好,又坑、又SB,POJ的后台数据和题目描述的完全不一样,看了DIscuss之后开始 改动代码,最后改的又臭又长,卡了整整两天。
挥挥洒洒 160行。。。。同时也是我第一次使用 三维建图+B...
分类:
其他好文 时间:
2014-06-10 14:20:15
阅读次数:
326
http://poj.org/problem?id=1691
大致题意:给出n个矩形,其参数有左上角顶点坐标,右下角顶点坐标以及该矩形所涂颜色。规定是涂当前矩形当且仅当它上面的矩形都已经被涂了色。若当前涂的颜色和上一个所涂的不同,就要换一种颜色的刷子。问应该按怎样的顺序给这n个矩形涂色使换的刷子总数最少。
思路:显然涂色是有先后顺序的,就很容易想到拓扑排序。那么首先根据矩形相交...
分类:
其他好文 时间:
2014-06-10 14:09:15
阅读次数:
198
---恢复内容开始---这道题就是明显的完全背包题啦,只不过物品的重量和价值是一样的。我就是按照《背包九讲》中完全背包的思路,先把物品的数量
ni 按照1,2,4,8...的规律分解,然后直接用简单背包暴力数据比较小,10种物品,每一种最多1000个,cash 2 #include 3 using
...
分类:
其他好文 时间:
2014-06-10 12:31:52
阅读次数:
182
Gopher IITime Limit:2000MSMemory Limit:65536KTotal
Submissions:6345Accepted:2599DescriptionThe gopher family, having averted the
canine threat, must f...
分类:
其他好文 时间:
2014-06-10 10:30:00
阅读次数:
218
题意:求在可以一秒沿着既定方向走1到3步和向左或右转90度的情况下,从起点到终点的最短时间
思路:坑的是这机器人还有体积,所以不能走到边界,然后就是单纯的BFS
#include
#include
#include
#include
#include
using namespace std;
const int MAXN = 110;
struct node {
int x,y;...
分类:
其他好文 时间:
2014-06-10 07:59:51
阅读次数:
256
Halloween treats
和POJ2356差不多。
其实这样的数列可以有很多,也可以有不连续的,不过利用鸽巢原理就是方便找到了连续的数列,而且有这样的数列也必定可以找到。
#include
#include
#include
int main()
{
int c, n;
while (scanf("%d %d", &c, &n) && c)
{
int *nei...
分类:
其他好文 时间:
2014-06-10 06:02:58
阅读次数:
293