自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 1068. Find More Coins 解析

这个大神算法很厉害 http://blog.csdn.net/tiantangrenjian/article/details/17334201看了好久这个算法。转了好久才有点明白其中的味道。。主要时明白这个两个二维数组的含义。横轴和纵轴所代表的意思。注释了下程序 应该比较好看懂了。。#include #include #include #include #defi

2017-02-28 17:18:15 519

原创 1067. Sort with Swap(0,*) 解析

用map做个映射表,映射为-1的时候就是被访问了。我的方法是模拟整个过程0不参加访问标记,因为0回到自己的位置会有两种情况1、排序没有完成2、排序完成两种情况要分开讨论。注意再访问是否被访问的时候因为是顺序访问,记录每次访问的终点,下次查询是否访问从那里开始,不然会超时。#include #include #include #define MAX 100010u

2017-02-27 23:18:39 413

原创 1066. Root of AVL Tree 解析

前面刷了,但是太久都忘记了要注意的点了。等以后有时间再补了。平衡二叉树 = = 真的是转来转去的。。注意下LL RR LR RL是怎么定义的。LL是调皮的节点在平衡因子为2的节点的左孩子的左孩子上。就好理解了。#include #include using namespace std;struct Node{

2017-02-27 23:13:40 434

原创 1044. Shopping in Mars 解析

直接暴力弄会有两个case超时。需要优化一下。参考这个大神的思路的 http://blog.csdn.net/tiantangrenjian/article/details/19251273#include #include #include using namespace std;struct node { int i; int j; int sum;};ve

2017-02-11 10:49:09 365

原创 1043. Is It a Binary Search Tree 解析

按先序的顺序建搜索树,然后先序遍历和先序比对,如果不一样再按NRL的顺序遍历比对。#include #include #define MAX 1010using namespace std;int list[MAX];int N;struct Node { int data; Node * l; Node * r; Node() { data = -1; l = NU

2017-02-11 10:46:24 514

原创 1042. Shuffling Machine 解析

看了半天发现是在洗牌。。。。。看清楚题目,给出的位置是把当前位置的元素放到那个位置去。应该就没事了。#include #include #define SIZE 55using namespace std;string Orig[SIZE], Relt[SIZE];int shuf[SIZE];int n;string int2str(int n) { s

2017-02-11 10:43:38 356

原创 1041. Be Unique 解析

开两个数组标记就好了~~#include #include #define MAX 100010using namespace std;vector isVis;vector douVis;vector list;int N;int main() { cin >> N; isVis.resize(MAX, false); douVis.resize

2017-02-11 10:42:41 530

原创 1040. Longest Symmetric String

最长回文子串思想很独特。如果s[i] == s[j] && dp[i + 1][j - 1] == 1 就是说 如果两个元素相等,内层是一个回文串,那么这个也是个回文串,否则不是。初始化的时候 dp[i][i] =1 自己肯定是一个回文子串 感觉后面的题越来越喜欢考这些动态的东西了。#include #include #include #define MAX 1010

2017-02-11 10:35:50 232

原创 1039. Course List for Student 解析

直接用string会超时 名字一定是三位字母+一个数字 所以转成哈希表 来处理 会快很多。#include #include #include #define MAX 26*26*26*10using namespace std;int N, K;vector name[MAX];int c2i(char c) { //char2int if( c >='A'

2017-02-11 10:33:44 418

原创 1038. Recover the Smallest Number

思想的话看这里吧。http://blog.csdn.net/sinat_29278271/article/details/48047877比较巧妙。自己写了好长的判断也没通过。#include #include #include #include #include using namespace std;int N;vector list;bool cmp(

2017-02-09 14:24:08 343

原创 1037. Magic Coupon 解析

分了四个组 然后排序 正的大的放前面 负的小的放前面 然后加起来。#include #include #include #include using namespace std;vector cp; //+vector cn; //-vector pp; //+vector pn; //-bool cmpP(long long l1, long long l2

2017-02-09 14:22:39 502

原创 1036. Boys vs Girls 解析

分组排序就好。没什么好多说的。#include #include #include #include using namespace std;int N;struct Stu { string name; string male; string id; int grade;};vector male;vector femal;bool cmp

2017-02-09 14:21:49 300

原创 1035. Password 解析

注意 is 和 are 注意 account 和accounts!!!注意 is 和 are 注意 account 和accounts!!!注意 is 和 are 注意 account 和accounts!!!#include #include #include #define MAX 1010using namespace std;bool Conve

2017-02-09 14:19:16 409

原创 1034. Head of a Gang

考察并查集。发现并查集什么都不会呀。。。查看了大神的代码感觉自己太弱了 http://blog.csdn.net/sunbaigui/article/details/8657148代码照抄的 就是注释了下。留着当笔记吧。 学习了下map set 迭代器 的使用 还是有点不熟练,还要多练。。感觉这里开始PAT题的类型突然变了。。#include #include #include

2017-02-08 20:46:45 312

原创 1033. To Fill or Not to Fill 解析

这个题这位大神写的太好了。太详细了。http://www.cnblogs.com/XBWer/p/3866486.html

2017-02-08 15:43:03 653

原创 1032. Sharing 解析

有几个特殊情况:1、开头就相同2、不是以-1结尾考虑到这两个就应该oK了。。#include #include #include #define MAX 100010using namespace std;struct Node { char c; int next;};Node str[MAX];int main() { int p1, p2, N

2017-02-08 11:41:18 317

原创 1031. Hello World for U 解析

注意端点值,不然有的示例不能过。#include #include using namespace std;int main() { string s; cin >> s; int N = s.size(); int n1 = 1, n2 = 2; int maxn1 = -1, maxn2 = -1; for (n2 = 3; n2 <= N; n2++)

2017-02-07 22:48:33 281

原创 1030. Travel Plan 解析

直接Dijstra感觉简单点,这个第二标尺比较容易想明白。Dijstra+DFS感觉反而麻烦了一点 两个都写了下练练手。#include #include #include #include #include #include #define MAX 510using namespace std;struct Node { int v; int dis;

2017-02-07 22:46:55 407

原创 1029. Median 解析

并归就好~~估计数据大 直接用scanf了 怕cin超时#include #include #include using namespace std;vector l1;vector l2;int N1, N2;int main() { long long temp = 0; scanf("%d", &N1); for (int i = 0; i

2017-02-07 22:45:33 380

原创 1028. List Sorting 解析

数据比较大 需要换用scanf 和 printf#include #include #include #include using namespace std;struct Node{ int id; string name; char n[10]; int grade;};vector list;int N, Rank;bool cmp1(Node n1

2017-02-07 22:43:30 253

原创 1027. Colors in Mars 解析

就是10进制转13进制 注意格式 00 0X 就好。#include #include #include using namespace std;int R ,G ,B;char int213(int num) { if(num <10) return char('0' + num); else { return char('A' + num - 10);

2017-02-07 22:41:36 304

原创 1026. Table Tennis 解析

你们尽管看我的程序,看得懂的算我输!!! (我自己都看不懂了......)这个排队好麻烦。我是按桌子来分类的。1、VIP桌可用 :有人等待,有VIP先给VIP,没有给队列最前面的人。没有人等待,给队列最前面的人。2、普通桌可用:按顺序来。3、VIP桌和普通桌都可以用:有人等待,有VIP先给VIP分配VIP桌,没有VIP给队列最前的人。优先号小的桌子    没人等待,给队

2017-02-07 14:15:26 905 1

原创 1025. PAT Ranking 解析

里面有测试成绩为0的情况。然后我的最小成绩设成0了,然后0的排序有问题。改成-1就好了。#include #include #include #include using namespace std;struct Node { string id; int grades; int local; int local_rank; int fina_ranl;};vec

2017-02-07 14:13:13 261

原创 1024. Palindromic Number 解析

和1023 一样  long long照样爆,自己写加法函数吧~~~~#include #include #include #include using namespace std;string N;int K;int char2int(char c) { return int(c - '0');}char int2char(int n) { return

2017-02-07 14:11:51 350

原创 1023. Have Fun with Numbers 解析

_(:з)∠)_ 感觉和数有关的了 long long 必然爆啊..偷懒被自己坑了。自己写个加法函数就好了,多大都不爆的那种!!!!啊哈哈哈哈 (已疯.......#include #include #include using namespace std;int char2int(char c) { return int(c - '0');}char int2

2017-02-07 14:09:43 425

原创 1022. Digital Library 解析

注意一行句子的输入方法。_(:з)∠)_这个题我想复杂了。大家注意关键字行的key是一个个词,不要理解成一句话了。我理解成一话用KMP和字符串匹配来做一直超时。还弄的很麻烦。题目给的查找的 能找到的一定是能匹配的。本来挺容易的一道的被我弄复杂了。#include #include #include #include #define MAX 10010#defi

2017-02-07 14:07:05 363

原创 1021. Deepest Root 解析

DFS的改版 需要依次对每个顶点分别进行DFS然后求深度做大的几个顶点。理清思路应该可以出来。#include #include #define Max 10010using namespace std;vector g[Max];vector isVisit;vector depth;vector Root;int N;int ThisDept

2017-02-07 14:05:31 508

原创 1020. Tree Traversals 解析

我是直接由后序 和中序建树 然后 层序遍历。#include #include #include using namespace std;vector post;vector in;int N, Count = 0;struct Node { int data; Node * L; Node * R;};typedef Node * Tree;Tre

2017-02-07 14:03:12 318

原创 1019. General Palindromic Number 解析

这个在进制的时候注意当进制大于10的时候回出现一位是多于两位的,像之前那样用字符串保存就会出问题。#include #include #include #include using namespace std;vector s;int main() { int num, b; cin >> num >> b; int temp = num; int digit

2017-02-03 21:54:14 299

原创 1018. Public Bike Management 解析

单用Dijstra算法比较难维护。用Dijstra+DFS能简化不少。看到有小伙伴例7有问题,可以看下是不是Dijstra的算法在计算路径的时候出问题没。我的就是下标u和i弄混了。查了好久。。。。。#include #include #include #include #include using namespace std;struct Node { int l

2017-02-03 20:23:10 671

原创 1017. Queueing at Bank 解析

注意:后面来的顾客是有可能不用排队的。 比如11:00顾客没有了13:00来人了是不用排队的。在选取窗口的时候方法和之前那个1014的选择方法不同。注意对比。#include #include #include #include #include #include using namespace std;struct Node{ string time; i

2017-02-03 20:18:42 1592

原创 1016. Phone Bills 解析

直接把时间化成以秒为单位 排序 匹配 计算就好。#include #include #include #include #include using namespace std;struct Node { string name; string time; string state;};int char2int(char i) { int result = 0

2017-02-03 20:16:40 404

c#实用画板小程序实例

一个用C#只做的画板程序,能够画直线,矩形,椭圆,圆,多边形,并且进行填色。在画多边形时,最后完成的时候反键下鼠标完成绘画。

2013-03-09

空空如也

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

TA关注的人

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