<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lh的博客]]></title><description><![CDATA[路漫漫~~~]]></description><link>https://blog.youkuaiyun.com/lhfl911</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lhfl911]]></copyright><item><title><![CDATA[九度OJ 1467 二叉排序树]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/78075339</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/78075339</guid><author>lhfl911</author><pubDate>Sun, 24 Sep 2017 10:25:58 +0800</pubDate><description><![CDATA[题目1467：二叉排序树 
注意是多组数据#include <cstdio>
#include <cstdlib>
#include <cstring>typedef struct node_ *node;
struct node_ {
    int key;
    node lc, rc;
};int insert(node &t, int fk, int k) {
    if (t) {]]></description><category></category></item><item><title><![CDATA[九度OJ  1474 矩阵幂]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/78075180</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/78075180</guid><author>lhfl911</author><pubDate>Sun, 24 Sep 2017 09:55:54 +0800</pubDate><description><![CDATA[题目1474：矩阵幂#include <cstdio>
#include <cstring>void mul(int a[][15], int b[][15], int ans[][15], int n) {
    int tmp[15][15];
    for (int i = 0; i < n; i++)
        for (int j = 0; j < n; j++) {]]></description><category></category></item><item><title><![CDATA[九度oj1473 二进制数]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/78075046</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/78075046</guid><author>lhfl911</author><pubDate>Sun, 24 Sep 2017 09:28:31 +0800</pubDate><description><![CDATA[题目1473：二进制数#include <cstdio>void print(int n) {
    if (!n)
        return;
    print(n>>1);
    printf("%d", n&1);
}int main()
{
    int t;
    scanf("%d", &t);
    int n;
    while(t--) {
        sca]]></description><category></category></item><item><title><![CDATA[九度oj 1488 百万富翁问题]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/78075018</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/78075018</guid><author>lhfl911</author><pubDate>Sun, 24 Sep 2017 09:20:18 +0800</pubDate><description><![CDATA[九度1488 百万富翁问题 
题意感觉有问题。。#include <cstdio>int main()
{
    printf("%d %d\n", 10*30, (1<<30)-1);
    return 0;
}]]></description><category></category></item><item><title><![CDATA[tiger 语义分析（类型检查）]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/61206047</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/61206047</guid><author>lhfl911</author><pubDate>Fri, 10 Mar 2017 20:15:33 +0800</pubDate><description><![CDATA[为编译器实现类型检查。 
 在语法分析的基础上，对抽象语法树进行类型检查，并生成相关报错信息。完成语法分析的基础上，还需： 
 types.[ch]： 已给出，描述了tiger语言的数据类型 
 env.[ch]： 实现值环境、类型环境 
 semant.[ch]：实现类型检查函数SEM_transProg(A_exp exp) 
 semtest.c： 测试平台，main入口 
 修改makefi]]></description><category></category></item><item><title><![CDATA[tiger 抽象语法树生成]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/59582799</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/59582799</guid><author>lhfl911</author><pubDate>Thu, 02 Mar 2017 17:59:32 +0800</pubDate><description><![CDATA[在语法分析基础上添加语义动作，生成tiger语言抽象语法树。官网给出框架和构造函数代码，仅仅需要在tiger.y添加相应语义动作，实现比较容易。文法： 
 文法稍作改变，增加了tydecs和fundecs来对应书中要求的nametylist和functionlist。由此产生了两个新shift/reduce conflict。    tydecs: tydec .
          | tydec]]></description><category></category></item><item><title><![CDATA[tiger 语法分析实现（无语义）]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/58170270</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/58170270</guid><author>lhfl911</author><pubDate>Mon, 27 Feb 2017 17:57:50 +0800</pubDate><description><![CDATA[用bison实现tiger语言的语法分析，只判断语法是否出错，无语义动作。shift/reduce conflict: 
 按照书上给的语法规则完成tiger.y文件，出现了三类shift/reduce conflict一、else悬挂   exp : IF exp THEN exp .
       | IF exp THEN exp . ELSE exp可以通过给else赋比then高的优先级消]]></description><category></category></item><item><title><![CDATA[1029 Median]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/58025121</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/58025121</guid><author>lhfl911</author><pubDate>Mon, 27 Feb 2017 11:10:45 +0800</pubDate><description><![CDATA[中位数#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;const int MAXN = 1e6 * 2 + 5;long long a[MAXN];int main() {
    int n, m;
    scanf("%d", &n);
    for (int i = 0; i < n]]></description><category></category></item><item><title><![CDATA[1028 List Sorting (25)]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/58014136</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/58014136</guid><author>lhfl911</author><pubDate>Mon, 27 Feb 2017 10:58:52 +0800</pubDate><description><![CDATA[排序#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;struct stu {
    int id;
    char name[10];
    int grade;
};const int MAXN = 1e5+5;stu s[MAXN];bool cmp1(stu a, stu b) {]]></description><category></category></item><item><title><![CDATA[1027 Colors in Mars (20)]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/58013156</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/58013156</guid><author>lhfl911</author><pubDate>Mon, 27 Feb 2017 10:58:15 +0800</pubDate><description><![CDATA[进制转换#include <cstdio>char t[] = {'0','1','2','3','4','5','6','7','8','9','A','B','C'};void trans(int x) {
    printf("%c%c", t[x/13], t[x%13]);
}int main() {
    int x, y, z;
    scanf("%d%d%d", &x, &y]]></description><category></category></item><item><title><![CDATA[tiger 词法分析实现]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/56011305</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/56011305</guid><author>lhfl911</author><pubDate>Mon, 20 Feb 2017 11:50:09 +0800</pubDate><description><![CDATA[用lex实现一个tiger语言的词法分析器.tiger语言词法规范:
标识符 
以字母开头,由字母、数字和下划线组成的序列。区分大小写字母。
注释 
可以出现在任意两个单词之间。以/*开始,以*/结束,并且可以嵌套。
整型常量 
由十进制数字组成的一个序列。没有负整型，对于带负号的整型需返回两个单词
字符串常量 
 由括在双引号之间的零至多个可打印字符、空白符或转义序列组成的序列。 
 tiger允]]></description><category></category></item><item><title><![CDATA[PAT甲1123	Is It a Complete AVL Tree (30)    --AVL]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53581389</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53581389</guid><author>lhfl911</author><pubDate>Mon, 12 Dec 2016 12:39:10 +0800</pubDate><description><![CDATA[题意很简单，按avl数进行插入操作，最后进行层序遍历输出，判断是不是一个完全二叉树。还是太菜， 
 avl没写出来。。。#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;struct node {
    int num, h;
    node *left,]]></description><category></category></item><item><title><![CDATA[hdu1180  诡异的楼梯   --bfs+优先级队列]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53573037</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53573037</guid><author>lhfl911</author><pubDate>Sun, 11 Dec 2016 14:38:18 +0800</pubDate><description><![CDATA[遇到楼梯特殊处理#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;struct node {
    int x, y, t;
    node() {}
    node(int xx, int yy, int tt):x(xx), y(yy), t(tt)]]></description><category></category></item><item><title><![CDATA[hdu1728 逃离迷宫   --bfs]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53572221</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53572221</guid><author>lhfl911</author><pubDate>Sun, 11 Dec 2016 11:27:38 +0800</pubDate><description><![CDATA[题目链接:hdu1728还是bfs走迷宫, 但不再是求最短路,而是问能不能在k次转向内从出发点走到目标点.初始方向不计入次数,可以直接把四个方向全push 
  队列节点的次数都限制在k次以内,大于k就不用push了#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace st]]></description><category></category></item><item><title><![CDATA[1025  PAT Ranking (25)]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53456148</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53456148</guid><author>lhfl911</author><pubDate>Sun, 04 Dec 2016 20:21:45 +0800</pubDate><description><![CDATA[简单的排序#include <bits/stdc++.h>
using namespace std;struct node {
    long long id;
    int score, loc, locrank, rank;
    friend bool operator<(const node &a, const node &b) {
        if (a.score == b.s]]></description><category></category></item><item><title><![CDATA[1024  Palindromic Number (25)]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53455265</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53455265</guid><author>lhfl911</author><pubDate>Sun, 04 Dec 2016 17:23:21 +0800</pubDate><description><![CDATA[大数模拟#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;bool pal(char a[]) {
    int len = strlen(a);
    for (int i = 0; i < len; i++)
        if (a[i] != a[len-1-i])]]></description><category></category></item><item><title><![CDATA[1023  Have Fun with Numbers (20)    --大数]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53454917</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53454917</guid><author>lhfl911</author><pubDate>Sun, 04 Dec 2016 16:32:04 +0800</pubDate><description><![CDATA[#include <cstdio>
#include <cstring>bool cmp(char x[], char y[], int len) {
    int vix[10], viy[10];
    memset(vix, 0, sizeof(vix));
    for (int i = 0; i < len; i++)
        vix[x[i]-'0']++;
    mem]]></description><category></category></item><item><title><![CDATA[1022  Digital Library   ---map+set]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53454644</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53454644</guid><author>lhfl911</author><pubDate>Sun, 04 Dec 2016 15:56:22 +0800</pubDate><description><![CDATA[#include <cstdio>
#include <cstring>
#include <string>
#include <map>
#include <set>
#include <iostream>
#include <algorithm>
using namespace std;map<string, set<int> > mp[6];int main() {
    string s;]]></description><category></category></item><item><title><![CDATA[1021  Deepest Root   --dfs]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53454370</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53454370</guid><author>lhfl911</author><pubDate>Sun, 04 Dec 2016 15:09:43 +0800</pubDate><description><![CDATA[先判断是不是树，并查集和深搜都可以 
求树的直径，两遍搜索，答案为其合集。#include <cstdio>
#include <cstring>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;const int MAXN = 10010;vector<int> mp[MAXN];
bool vis]]></description><category></category></item><item><title><![CDATA[1020  Tree Traversals   --二叉树乱搞]]></title><link>https://blog.youkuaiyun.com/lhfl911/article/details/53426892</link><guid>https://blog.youkuaiyun.com/lhfl911/article/details/53426892</guid><author>lhfl911</author><pubDate>Thu, 01 Dec 2016 21:23:34 +0800</pubDate><description><![CDATA[根据后序和中序输出层次遍历的节点序#include <cstdio>
#include <cstring>
#include <queue>
#include <algorithm>
using namespace std;struct node {
    int l, r, il, ir;
    node(){}
    node(int ll, int rr, int ill, int ir]]></description><category></category></item></channel></rss>