自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 南阳oj 题目16 矩形嵌套

AC情况:代码:#include <iostream>#include <cstdio>using namespace std;int rect[1005][2];int db[1005];int n;int sc(int x){ int num=0; for(int i=0;i<n;i++){ if(rect[i][1]<rect[x...

2018-02-16 21:01:00 186

原创 南阳oj 题目10 skiing

大年初一,开始练习动态规划。题目:个人感觉主要思路就是还递归,只不过递归的同时记录结果节省时间,代码还可以进一步优化写成递推公式的形式代码:#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int h[105][105];int db[105][10...

2018-02-16 16:29:28 236

原创 poj 3069 Saruman's Army

题目: 贪心算法,先对x[i]从小到大排序,然后从x[0]开始遍历,找到x[0]+R能覆盖的最远的点i,找到x[i]+R能覆盖的最远的点l。再以l为起点循环上述过程 AC情况: 代码:#include<iostream>#include<algorithm>using namespace std;int x[1005];int main() { int R, N,cnt;

2017-09-23 10:28:35 164

原创 poj 2456 Aggressive cows

题目: 首先把牛棚的位置x[i]按从小到大排序。牛棚数量N,牛数量为C,则每两只牛间可能的最大距离r=(x[N - 1] - x[0]) / (C - 1)。用二分法搜索0~r,判断mid满不满足条件。AC情况: 代码:#include<iostream>#include<algorithm>using namespace std;int x[100005];int N, C;in

2017-09-22 15:56:59 208

原创 NYOJ 单词拼接

AC情况: 有点气 理解:代码搬的别的大佬的,有的地方还不太理解,得继续研究。。把单词的开头和结尾两个字母看作结点,单词是线,按这个规则构建图,先根据有多少个字母落单,判断能不能直接输出,不能的话就用深度优先搜索遍历,边排序边遍历,存到栈里,如果不能遍历全部,还是输出(比如aab,baa,ccc),否则输出栈。#include<iostream>#include<cstdlib>#inc

2017-09-13 23:33:13 261

原创 poj 2240 Arbitrage

题目: 思路: 定义个map#include<iostream>#include<map>#include<string>using namespace std;map<string, int> curr;double dis[31][31];double d[31];int n,i;bool bellman() { for (i = 0; i < n; i++) {

2017-09-07 21:03:20 153

原创 POJ 3268 sliver cow party

题目: 奶牛们分别从n个农场前往x地开派对,有m条路线把n个农场相连,路是单向的。 奶牛们从所在的地方用最短路径走到x,再用最短的路径走回来。求出路径最长的奶牛要花费多长时间。 第一行输入n,m,x。随后的m+1行输入a,b,t。从a地到b地花费时间t。 思路: 确定了x点,单源最短路问题。首先用dijkstra算法,把x点到其他所有点的最短距离存储在数组中。然后把所有的路反转一下,再用d

2017-09-05 17:24:10 269

原创 poj Ugly Numbers

未完待续 晚上再写。。题目: AC情况: 代码:#include<iostream>#include<algorithm>using namespace std;int s[1501] = {0,1};int main() { int x2 = 1, x3 = 1, x5 = 1; for (int i = 2; i < 1501; i++) { s[

2017-08-27 16:46:17 223

原创 poj 1308 Is It A Tree?

题目: AC情况: 思路: 判断是不是树,主要两种情况:1.树根不止有一个。2.树根到某个结点的路径不唯一。 主要算法是并查集。 代码:#include<iostream>using namespace std;int parent[101];int flag[101];void init() { for (int x = 0; x < 101; x++) {

2017-08-13 21:05:22 152

原创 poj Six Degrees of Cowvin Bacon

题目: AC情况: #include<iostream>#include<algorithm>using namespace std;int d[301][301];int x[301];int N;void varshall_floyd() { for (int k = 0; k < N; k++) for (int i = 0; i < N; i++)

2017-08-07 23:02:12 215

原创 文章标题

题目: AC情况: 思路:树状数组#include<iostream>#include<string>#include<bits/stdc++.h>using namespace std;int a[1000002];int d[1000002] = {0};int N, M;int lowbit(int x) { return x&(-x);}void updat

2017-08-05 21:55:36 127

原创 POJ 2431 Expedition

题目: AC情况: 主要思路: 这题用到了贪心算法和优先队列。油箱里一开始有P单位油,一直往前跑,把途径的加油站放入优先队列中。在到达某个加油站之前没油了,就从优先队列中,弹出能加油最多的那个站,加油,再往前跑,直到跑到终点。如果没跑到,队列里也没有加油站了,就算失败。#include<iostream>#include<algorithm>#include<queue>usin

2017-08-02 15:01:31 149

原创 poj 1258 Agri-Net

题目: 主要思路: 这题没什么,就是最小生成树。但是我一开始用的是Kruskal算法,就是先把路径从小到大排序,然后根据路径遍历,如果路径的两头有一头是尚未被连接的,就把这条路加上,然后标记路的两端的城市均已被连接,直到连接所有城市。就是一直WA不知道为什么,然后换成prim算法。从一个城市开始,然后看与它最近的是谁,然后再看与那个城市最近的是谁,以此类推······ac情况: #incl

2017-07-31 20:37:29 241

原创 心急的C小加

题目: ac情况: 思路:贪心算法+递增子序列。用sort函数对pair数组进行排序,它会自动按照pair.first从大到小,first一样时second从大到小的顺序进行排序。然后统计pair.second的递增序列有几个即可。#include <iostream>#include <algorithm>#include <queue>#include <bits/stdc++

2017-07-29 22:02:27 176

原创 poj Sunscreen

AC情况: 贪心算法关键还是要自己根据题意找出最优的算法,这题主要是根据防晒霜按从小到大排,然后根据防晒霜找牛,如果找到某牛的最低SPF标准比防晒霜的低,且他的最高SPF是目前牛里最小的,就优先给他用。 把牛和防晒霜排序,用到了sort()函数。之后再把用防晒霜 spf[i] 筛选出来的牛放进优先队列q中,q按照牛的最大SPF 从大到小排序。#include<iostream>#inclu

2017-07-26 14:55:24 341

原创 poj Wireless Network

AC情况: 大致思路:这题看到就往并查集上靠了,就是判断距离那块感觉有点费时间,不过AC了,之前WA一次,查了半天发现是FAIL输成了FALL,,难受。。。#include<iostream>using namespace std;int x[1001];int y[1001];int r[1001] = {0};int par[1001];int ran[1001];void in

2017-07-23 11:05:05 298

原创 poj 食物链

AC情况:思路:种类并查集。 这个题目只需要输入一组,可以写的简单一点,但是第一次做这种题目,我想加深点印象所以把函数都完整的写了一下,以后回顾也方便。 因为一共有3种动物,且是循环的吃的关系,一般情况下不能确定谁是第一种谁是第二种第三种,所以把每个动物i都分成3个元素:i-A、i-B、i-C。如果输入说法1 x y,则说明x-A=y-A、x-B=y-B、x-C=y-C。如果输入说法2...

2017-07-21 16:45:30 322

原创 poj Subsequence

思路:用户输入的数列a[n],再定义个sum[n]存储a[n]的前n项和。一开始写的代码老是超时,后来看了一下尺取法可以将时间复杂度优化到o(n),大致思想就是定义起点 l 和终点 f ,f的初始值是满足sum[i]>s的i的最小值。然后l++循环,直到sum[f]-sum[l]#include <iostream>using namespace std;int a[100000];long

2017-07-17 15:29:28 195

原创 poj Apple Catching

#include <iostream>using namespace std;int a[1001][31]; //a[i][j],第i次,移动j次时捡到最多的苹果数量int max(int a, int b) { //判断大小的函数 return a > b ? a : b;}int main() { int t,w,i,j

2017-07-15 16:10:12 197

原创 划分数

刚好前几天在课件上看到了这种例题,简直一摸一样,而且印象挺深的基本思路都记得,所以这次作业没动脑子就写完了哈哈。具体思路: #include <iostream>using namespace std;int s;void Func(int n,int m) { if (m == 1 || n == 1) s++; else { if (m == n) {

2017-07-13 08:27:55 170

原创 Excuses, Excuses!

AC#include <iostream>#include<string>using namespace std;int main() { int k, e, c = 0, l, kl, i, j, p, maxn; //k,e代表keyword与excuse的个数,c是最后输出的excuse的id,l,kl用来存储excuse与key的长度 string ew;

2017-07-12 18:25:07 203

原创 Sumsets

Sumsets Description Farmer John commanded his cows to search for different sets of numbers that sum to a given number. The cows use only numbers that are an integer power of 2. Here are the pos

2017-07-09 15:41:42 516

空空如也

空空如也

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

TA关注的人

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