
poj
宴夜小丑
这个作者很懒,什么都没留下…
展开
-
poj:1753
poj 1753题学习笔记1753 题是一个基本的枚举算法的题,基本解题思路就是暴力枚举,但是我们需要知道即便是暴力枚举,也是需要认真分析问题的。题意:有一个4*4的棋盘,棋盘上有黑白格,每一次你可以翻其中的一个格子。一个格子(x,y)如果被翻,它相邻的前后左右四个格子(如果在棋盘上)也要翻转。现在给你一个初始的棋盘状态,问把这个棋盘翻转到全黑或全白的最少次数;若不能达到全黑或全白,输出Impos...原创 2018-04-22 23:06:03 · 3652 阅读 · 0 评论 -
POJ:3190 Stall Reservations
题目链接:http://poj.org/problem?id=3190题意:贪心算法,将牛按照开始时间排序,栅栏按照结束时间排序,每次取结束时间最小的栅栏判断与当前牛的开始时间,假如小于,则取当前栅栏,否则新建栅栏,并且端点不重合注意:输出时按照输入牛的顺序输出#include <stdio.h>#include <iostream>#include <queue...原创 2018-05-21 23:47:22 · 176 阅读 · 0 评论 -
POJ:3624 Charm Bracelet(背包问题)
题目链接:http://poj.org/problem?id=3624题解:动态规划,空间优化#include <stdio.h>#include <iostream>using namespace std;int w[3505],d[3505],f[13005];//重量,价值和最后计算结果//在这里计算结果只能用一行表示,不然会超空间int main(){ ...原创 2018-05-26 12:12:03 · 425 阅读 · 0 评论 -
POJ:1163 The Triangle
题意:从三角形中选择从顶到底走的数字最大的路径输出结果分析:动态规划递归问题,每个数字都等于他自己加上下方或右下方最长的路,最后一行直接为自身的值,递归向上 将输入存入二维数组中,(i,j)代表第i行j列的数 但是要注意将每个节点的最大路径存起来,这样第二次访问时就不用再求一遍,直接使用,不然会超时#include <stdio.h>#include ...原创 2018-05-24 21:44:32 · 293 阅读 · 0 评论 -
POJ:1018 Communication System
题目链接题意:每个系统由多个设备组成,每个设备由多个厂家可以提供,厂家提供不同的设备带宽和价格,选择厂家提供的设备,最后使得整个系统的总B(最小带宽)/总P(价格)最大题解:二维动态规划,前i个设备带宽为j时最小的价格dp[i][j]=min(dp[i][j],dp[i-1][k]+p))代码:#include <iostream>#include...原创 2018-08-11 10:37:53 · 224 阅读 · 0 评论 -
POJ:1050 To The Max
题目链接题意:N*N的矩阵,求出最大的子矩阵的和题解:最大子段和的扩展应用,最大子段和即求出一个序列中最大的连续子段的和,动态规划,dp[i]即以序列a[i]为结尾的子序列的和dp[i]=max(dp[i-1]+a[i],a[i])最大子矩阵求解,将最大子矩阵转变为一维的最大子段和,即对每一行i到行j求解以列和为序列的最大子段和0 -2 -7 09 2 -...原创 2018-08-11 15:31:39 · 240 阅读 · 0 评论 -
POJ:1083 Moving Tables
题目链接题意:400个房间分布在一条走廊的两边,现要从房间A将桌子挪到房间B,一次挪动10分钟,多次挪动不可以重叠走廊区域,求最短挪动时间题解:简单模拟即可,模拟每次挪动桌子,将该区域的时间加10,则重复区域的时间会加倍,最后求出最长的时间,即可注意:单数和双数的分布问题,即1和2是占用了一块走廊,而1和3占用了两块走廊房间A并不一定小于房间B,即需要判断从小房...原创 2018-08-11 16:07:07 · 213 阅读 · 0 评论 -
POJ:1125 Stockbroker Grapevine
题目链接题意:每个股票经纪人与其他人有着联系时间,求与其他人联系的时间(最长联系的时间)最短的那个人及时间(最长联系时间)题解:如题,可以构造出有向图,找出所有节点对的最短路径,Floyd算法#include <stdio.h>#include <iostream>#include <cstring>#define max(a,b...原创 2018-08-11 19:06:30 · 190 阅读 · 0 评论 -
POJ:1208 The Blocks Problem
题目链接题意:n个盒子,按照规定进行移动,最后输出移动的最终结果题解:模拟移动过程,要注意四种移动的不同点#include <iostream>#include <stdio.h>#include <string>using namespace std;int all[30][30];int n;int find(...原创 2018-08-12 10:57:53 · 633 阅读 · 1 评论