=====蓝桥杯=====
文章平均质量分 56
林伏案
妖蛾子良多的范老爷
展开
-
回文数字(dfs)
/* 水题不表,dfs即可 */ #include #include #include using namespace std; int n; vector ans; bool flag; void dfs5(int k, int sum) { if(k == 2) { if(n - sum * 2 = 0) { ans.push_back(n - sum * 2);原创 2017-04-17 22:25:18 · 339 阅读 · 0 评论 -
小朋友排队
/* solution: 数状数组求出逆序数。 这道题首先要求的就是逆序数对,根据这个数在所有逆序数对中出现的个数就可以算出来不高兴值。 */ #include #include #include #include #include using namespace std; const int maxn = 1000000 + 5; typedef long long ll;原创 2017-05-18 22:24:26 · 288 阅读 · 0 评论 -
地宫取宝(dp)
/* solution: dp 设dp[i][j][x][y]:=走到i,j处,手中有x件宝物,且最近拿的一件宝物的价值为y的方案数 note: 宝物价值可能为0,所以要加上1. */ #include #include #include using namespace std; const int maxn = 55; const int M = 10000000原创 2017-05-19 17:15:25 · 301 阅读 · 0 评论 -
九宫重排(BFS)
#include #include #include #include using namespace std; struct Node { string code; int d; Node(const string& c, int d): code(c), d(d) {} Node() {} }; string bState, eState; string moveSqu原创 2017-05-19 20:56:11 · 1221 阅读 · 0 评论 -
连号区间(*)
/* 感觉有点不科学,50000的数据量,n^2竟然能过,不可思议。。。 */ #include #include #include using namespace std; const int maxn = 50000 + 5; const int INF = 0x3f3f3f3f; int n; int a[maxn]; int main() { //freopen("in.tx原创 2017-05-19 21:45:54 · 329 阅读 · 0 评论 -
翻硬币
#include #include #include using namespace std; const int maxn = 1000 +5; char str1[maxn], str2[maxn]; inline void flip(char *s, int p) { if(s[p] == '*') s[p] = 'o'; else s[p] = '*'; } int原创 2017-05-19 22:03:57 · 399 阅读 · 0 评论 -
横向打印二叉树
问题描述 二叉树可以用于排序。其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。 当遇到空子树时,则把该节点放入那个位置。 比如,10 8 5 7 12 4 的输入顺序,应该建成二叉树如下图所示,其中.表示空白。 ...|-12 10-| ...|-8-| .......|...|-7 .......|-5-原创 2017-05-21 17:44:49 · 823 阅读 · 0 评论