自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 PAT 1021. Deepest Root (25)

最后一个case没有过,改#include #include #include #include #define MAXN 10008using namespace std;int n,k,first,last,level;int Father[MAXN];// 并查集 int Depth[MAXN]; int visited[MAXN];queue q;vector v[

2015-03-13 23:07:29 350

原创 PAT 1048. Find Coins (25) 超简便做法!!!

@班大大由于题面上硬币值是整数,并且有界!所以我们可以将硬币值作为下标hash。,数组value[i]表示的是面值为i的硬币的个数!!输入完成后也就省去了排序过程。两头逼近查找即可。!机智!!#include #include #include using namespace std;int value[501];int main(){ memset(value,0

2015-03-11 21:53:28 435

原创 PAT 1048. Find Coins (25)

我用二分法做的~复杂度是nlogn,下面附上同学做的简洁版本。代码如下#include //二分法#include using namespace std;#define MAXN 100008int n,m,flag=0;//flag=1表示有解int coins[MAXN];int binarysearch(int low,int high,int key){ if (lo

2015-03-11 21:22:40 263

原创 PAT 1044. Shopping in Mars (25)

#include #include using namespace std;#define MAX 100008struct Range{ int i; int j; Range(int ii,int jj):i(ii),j(jj){};};int n,m;int arr[MAX];//arr[i]存放1-i的部分和,下标1开始有效vector vec;i

2015-03-11 20:33:14 339

原创 PAT 1009. Product of Polynomials (25)

#include #include #include #define MAX 2000double arr1[MAX],arr2[MAX],result[2*MAX];int cnt=0,num1,num2;void read(double a[],int & num){ int id; double tmp; scanf("%d",&num); fo

2015-03-11 15:31:54 343

原创 PAT 1011. World Cup Betting (20)

#include char res[3][2]={"W","T","L"};int main(){ freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); int maxj=0; double sum=0.65,max=0.00; for (int i=0; i<3; i++) {

2015-03-11 15:00:05 292

原创 PAT Maximum Subsequence Sum (25)

#include int arr[10008];//保存原始数组int dp[10008];//这个数组保存的是以i为结尾的最大子串的长度。int begining[10008];//把以i为结尾的最大子串的开头保存下来。int n;bool allneg=1;int main(){ //freopen("/Users/pantingting/Documents/code/da

2015-03-11 11:40:10 323

原创 PAT 1008. Elevator (20)

#include #define MAX 30000int n,current=0,total=0,request;int main(){ //freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); scanf("%d",&n); for (int i=0; i<n; i++) {

2015-03-11 10:24:11 319

原创 PAT 1042. Shuffling Machine (20)

#include #define num 54int k;int muta[num+1];//保存变换规则1-54,0位置不用int poke[num+1];//保存原始poke的编号;int aftermt[num+1];//保存变换后的poke编号void mutate(){ for (int i=1; i<=num; i++) { int newpos=m

2015-03-11 09:58:36 302

原创 PAT 1006. Sign In and Sign Out (25)

#include #include int early,late,n;char earlyP[20],lateP[20];int time(int hh,int mm,int ss){ int ans=hh*60*60+mm*60+ss; return ans;}int main(){ //freopen("/Users/pantingting/Document

2015-03-10 10:57:30 256

原创 PAT 1004. Counting Leaves (30)

#include #include #include using namespace std;#define MAXN 150int N,M;vectorvec[150];queueq;int cnt[MAXN];//保存每个层次上的叶子节点个数。int first,last,tmpcnt,level;void BFS(){ while (!q.empty()) {

2015-03-09 15:37:59 284

原创 PAT 1003. Emergency (25)

#include #include using namespace std;#define MAXCITY 550struct City{ int id,team,dis; City(int i,int t=0, int d=0):id(i),team(t),dis(d){}};int N,M,C1,C2;int dis,helper,cnt;//暂存DFS中的距离和

2015-03-09 15:02:56 321

原创 PAT 1002. A+B for Polynomials (25)

#include #include #define MAXK 2000float arr[MAXK];//结果存放在arr1中int count;int main(){ int index; float coeffi; int n; //freopen("/Users/pantingting/Documents/code/data/input", "r"

2015-03-09 14:08:06 300

原创 PAT 1001. A+B Format (20)

#include #include using namespace std;int a,b;vectorv;int main(){ // freopen("/Users/pantingting/Documents/code/data/input", "r", stdin); scanf("%d%d",&a,&b); int ans=a+b; // printf

2015-03-09 10:45:10 412

原创 PAT 1091. Acute Stroke (30)

用BFS做的。#include #include using namespace std;struct node{ int i,j,k; node(int i=-1,int j=-1,int k=-1):i(i),j(j),k(k){}//!!};int M,N,L,T;bool visited[61][1280][128];int pic[61][1280][12

2015-03-08 22:08:14 463 1

原创 PAT 1089. Insert or Merge (25)

参考这里写的http://www.cnblogs.com/kylehz/p/4134915.html#include #include using namespace std;#define MAX 200int n;int initial1[MAX],initial2[MAX];int given[MAX];int flag1=0,flag2=0;bool cmp(int a

2015-03-07 20:10:30 393

原创 PAT 1090 Highest Price in Supply Chain

这道题用BFS求出最大层次以及最大层次上节点的个数就好了#include #include #include #include using namespace std;struct Answer{ int level; int num;};//将每个层次上有多少个节点都记录下来。vector ans;vector vec[100008];//作为图的邻接链表。

2015-03-06 21:47:56 409 3

原创 PAT1068 Find More Coins (背包问题)

参考了别人的博客,这道题不太懂。http://blog.csdn.net/tiantangrenjian/article/details/17334201#include #include #include using namespace std;int n,m;int arr[100008];int f[10008][108];int has[10008][108];bool

2015-03-05 16:04:27 293

原创 PAT 1086 Tree Traversal Again

采用二叉树的数组表示方法,用stack保存一下当前节点编号,每push一下都将当前节点编号*2转向左子树,pop的时候就pop出来转向右子树。#include #include #include #include using namespace std;int n,k,current=1;int Tree[10000];int flag=0;char op[2][10]={"Pus

2015-03-05 14:36:07 336

原创 PAT 1075 PAT Ranking

#include #include #include #include using namespace std;struct Stu{ int id; int partial[6]; int totalscore; int perfect; int rank; int flag; bool operator <(const Stu

2015-03-05 11:01:27 263

原创 PAT 1067 Sort with Swap(0,*)

这道题调试了好久,代码写的比较丑,总的来说,抓住1. 0是否在0的位置。2 . 一共有几个环。如果0在环内,则需要的交换次数为环中除0外的个数,如果0不在环内,则需要一个交换将0放入。#include #include #include using namespace std;int n,right1,count;int Father[100005];int FindFather(

2015-03-01 22:32:32 352

空空如也

空空如也

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

TA关注的人

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