永夜初晗

  • 主页
  • 文章列表
  • 三国闯关杀
所有文章 友链 关于我

永夜初晗

  • 主页
  • 文章列表
  • 三国闯关杀

《算法竞赛入门经典训练指南》动态规划专题2

9月 16

动态规划专题(2)

例题30 放置街灯(Placing Lampposts, Uva 10859)

动态规划,比较复杂的一题。通过这题,学到一个技巧

一般来说,如果题目要求两个量v1,v2,若要求满足v1最大或最小的时候,v2同事也要最大或最小。则可以把v1和v2合成一个量x=M*v1+v2.其中M要是比v2的理论值与v1理论值之差还要大的数,最后就求出v1=x/M,v2=x%M。因为要v1和v2同增或同减,则对于此题,M可取2000,v1为点灯数,v2为只被一盏灯照到的边的数。

解决此题,首先将无根树转换成有根树,用dp[i][j]来表示对于节点i父节点点灯状态为j时的最小x值,注意当i为根的时候的特殊情况,详细看代码

Uva 10859view raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#include <algorithm>
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
#include <vector>
using namespace std;

#define zero(a) memset(a,0,sizeof(a))
#define one(a) memset(a,1,sizeof(a))
#define fone(a) memset(a,-1,sizeof(a))
#define pow2(a) ((a)*(a))
#define pow3(a) ((pow2(a))*(a))

vector<int>d[1005];
bool vis[1005][2];
int dp[1005][2];
const int bs=2000;
int DFS(int i,int j,int f)
{
if(vis[i][j]==1)
return dp[i][j];
vis[i][j]=1;
int k;
int ans1,ans2;
ans1=bs;
for(k=0;k<d[i].size();k++)
{
if(d[i][k]!=f)
{
ans1+=DFS(d[i][k],1,i);
}
}
if(f>=0&&(!j))
ans1++;
dp[i][j]=ans1;
ans2=0;
if(j||f<0)
{
for(k=0;k<d[i].size();k++)
{
if(d[i][k]!=f)
{
ans2+=DFS(d[i][k],0,i);
}
}
if(f>=0)
ans2++;
dp[i][j]=min(ans1,ans2);
}
return dp[i][j];
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int n,m;
scanf("%d%d",&n,&m);
int i;
for(i=0;i<1005;i++)
d[i].clear();
for(i=0;i<m;i++)
{
int a,b;
scanf("%d%d",&a,&b);
d[a].push_back(b);
d[b].push_back(a);
}
zero(vis);
zero(dp);
int ans=0;
for(i=0;i<n;i++)
{
if(!vis[i][0])
ans+=DFS(i,0,-1);
}
printf("%d %d %d\n",ans/bs,m-ans%bs,ans%bs);
}
return 0;
}

例题31 捡垃圾的机器人(Robotruck, SWERC 2007, LA 3983)

动态规划,设计的转移方程比较简单,用dp[i][j]表示捡到了第i个垃圾后重量为j时走了多少步,特别的dp[i][0]表示剪完1~i的垃圾并丢到垃圾箱走的步子数,则有两种绝策

(1)捡完第i-1个垃圾后继续捡第i个垃圾,则有方程:dp[i][j]=dp[i-1][j-lj[i].w]+juli(i-1,i),特别的dp[i][0]=min(dp[i][j]+juli(i,0))

(2)捡完第i-1个垃圾并扔到垃圾桶里再捡第i个垃圾,则有方程:dp[i][lj[i].w]=dp[i-1][0]+juli(i,0),特别的dp[i][0]=dp[i][lj[i].w]+juli(i,0)

时间和空间复杂度都是O(NC),但利用滚动数组可以把空间复杂度降到O(C)

LA 3983view raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <algorithm>
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;

#define zero(a) memset(a,0,sizeof(a))
#define one(a) memset(a,1,sizeof(a))
#define fone(a) memset(a,-1,sizeof(a))
#define pow2(a) ((a)*(a))
#define pow3(a) ((pow2(a))*(a))

int dp[105];
struct prog{
int x;int y;int w;
}lj,old_lj,lj0;
int juli(prog i,prog j)
{
return abs(i.x-j.x)+abs(i.y-j.y);
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int C,n,i,j,k;
scanf("%d",&C);
scanf("%d",&n);
memset(dp,0x7f,sizeof(dp));
dp[0]=0;
old_lj.x=0;
old_lj.y=0;
old_lj.w=0;
lj0=old_lj;
for(i=1;i<=n;i++)
{
scanf("%d%d%d",&lj.x,&lj.y,&lj.w);
int jl0=juli(lj,lj0);
int tmp=dp[0]+jl0;
dp[0]=tmp+jl0;;
int jl=juli(lj,old_lj);
for(j=C;j>=lj.w+old_lj.w;j--)
{
dp[j]=dp[j-lj.w]+jl;
dp[0]=min(dp[0],dp[j]+jl0);
}
while(j>0)
{
dp[j]=0x7f7f7f7f;
j--;
}
dp[lj.w]=min(dp[lj.w],tmp);
old_lj=lj;
}
printf("%d\n",dp[0]);
if(T)
printf("\n");
}
return 0;
}

这题关于时间上的复杂度仍然可以继续优化,利用单调队列,可将复杂度降为O(N),详细可参考《训练指南》第73页。

例题32 分享巧克力(Sharing Chocolate, World Finals 2010, LA 4794)

状态DP,转移方程很好想到,但需要继续优化,可参考《训练指南》

LA 4794view raw
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;

#define zero(a) memset(a,0,sizeof(a))
#define one(a) memset(a,1,sizeof(a))
#define fone(a) memset(a,-1,sizeof(a))
#define pow2(a) ((a)*(a))
#define pow3(a) ((pow2(a))*(a))

int sum[40000];
int cnt[40000];
int dp[105][40000];
int ans[20];
int all;
bool DFS(int r,int s)
{
if(dp[r][s]!=-1)
return dp[r][s];
int &rs =dp[r][s];
if(cnt[s]==1)
return rs=1;
int c=sum[s]/r;
for(int sx=(s-1)&s;sx;sx=(sx-1)&s)
{
int sy=s-sx;
if(sum[sx]%r==0&&DFS(min(r,sum[sx]/r),sx)==1&&DFS(min(r,sum[sy]/r),sy)==1)
return rs=1;
if(sum[sx]%c==0&&DFS(min(c,sum[sx]/c),sx)==1&&DFS(min(c,sum[sy]/c),sy)==1)
return rs=1;
}
return rs=0;
}
int main()
{
int n,cas=1;
while(scanf("%d",&n),n)
{
all=(1<<n)-1;
int x;int y;
scanf("%d%d",&x,&y);
int i,j,k;
for(i=0;i<n;i++)
scanf("%d",&ans[i]);
zero(sum);
fone(dp);
zero(cnt);
for(i=1;i<=all;i++)
{
for(j=0;j<n;j++)
{
if(i&(1<<j))
{
sum[i]+=ans[j];
cnt[i]++;
}
}
}

if(sum[all]!=x*y||sum[all]%x!=0||DFS(min(x,y),all)==0)
printf("Case %d: No\n",cas++);
else
printf("Case %d: Yes\n",cas++);
}
return 0;
}
  • 算法竞赛入门经典训练指南
  • 动态规划
  • 状态压缩
  • 算法竞赛

扫一扫,分享到微信

微信分享二维码
《算法竞赛入门经典训练指南》动态规划专题1
《算法竞赛入门经典训练指南》思维的体操
© 2018 永夜初晗
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • 算法竞赛入门经典训练指南
  • 动态规划
  • 排序
  • 计算几何
  • 贪心
  • 离散
  • 二分
  • 深度优先搜索
  • 递归
  • 状态压缩
  • codeforces
  • 最大公约数
  • 数论
  • 矩阵
  • 快速幂
  • 素性测试
  • 素数
  • burnside
  • polya
  • AC自动机
  • kmp
  • 字典树
  • 字符串匹配
  • 数据结构
  • 欧拉函数
  • 筛选
  • hdu
  • 并查集
  • 线段树
  • 仙剑
  • 感动
  • 语录
  • 背包问题
  • 优先队列
  • 枚举
  • 后缀数组
  • 旋转
  • 卡特兰数
  • 广度优先搜索
  • 最短路
  • 二分图
  • 图论
  • 最大匹配
  • 算法
  • poj
  • 中国剩余定理
  • 矩形
  • 分治
  • 规律
  • Linux
  • crontab
  • 同余方程
  • 扩展欧几里得
  • 记忆化搜索
  • floyd
  • prim
  • 生成树
  • 费马小定理
  • kruskal
  • 位运算
  • 高斯消元
  • 匈牙利算法
  • 最小覆盖点
  • 搜索
  • 最长公共子序列
  • DP
  • 队列
  • 排列
  • 组合数学
  • 最小生成树
  • 抽屉原理
  • 高精度
  • 欧几里得
  • 斐波那契数列
  • 法雷级数
  • usaco
  • 测试数据
  • 二叉树
  • 矩形切割
  • 阶乘
  • spfa
  • 背包
  • 欧拉回路
  • 康托展开
  • zoj
  • 反素数
  • 归并排序
  • 逆序对

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 《算法竞赛入门经典训练指南》动态规划习题1

    2018-09-16

    #算法竞赛入门经典训练指南#动态规划

  • 《算法竞赛入门经典训练指南》动态规划习题2

    2018-09-16

    #算法竞赛入门经典训练指南#动态规划

  • 《算法竞赛入门经典训练指南》高效算法设计举例1

    2018-09-16

    #算法竞赛入门经典训练指南#排序#计算几何#贪心

  • 《算法竞赛入门经典训练指南》高效算法设计举例2

    2018-09-16

    #算法竞赛入门经典训练指南#动态规划#离散#二分

  • 《算法竞赛入门经典训练指南》问题求解常见策略1

    2018-09-16

    #算法竞赛入门经典训练指南#深度优先搜索#递归

  • 《算法竞赛入门经典训练指南》问题求解常见策略2

    2018-09-16

    #算法竞赛入门经典训练指南#二分#深度优先搜索

  • 《算法竞赛入门经典训练指南》动态规划专题1

    2018-09-16

    #算法竞赛入门经典训练指南#动态规划#递归#状态压缩

  • 《算法竞赛入门经典训练指南》动态规划专题2

    2018-09-16

    #算法竞赛入门经典训练指南#动态规划#状态压缩

  • 《算法竞赛入门经典训练指南》思维的体操

    2018-09-16

    #算法竞赛入门经典训练指南#贪心#数论

  • 20111120周赛解题报告

    2018-09-16

    #最大公约数#数论

  • Codeforces Round #118 (Div. 2) :A. Comparing Strings

    2018-09-16

    #codeforces

  • Codeforces Round #118 (Div. 2) :B. Growing Mushrooms

    2018-09-16

    #codeforces

  • Codeforces Round #118 (Div. 2) :C. Plant

    2018-09-16

    #codeforces#矩阵#快速幂

  • Codeforces Round #118 (Div. 2) :D. Mushroom Scientists

    2018-09-16

    #codeforces#数论

  • AC自动机简单模版

    2018-09-16

    #AC自动机#kmp#字典树#字符串匹配#数据结构

  • 欧拉函数模板

    2018-09-16

    #素数#欧拉函数#筛选

  • 矩阵快速幂模板

    2018-09-16

    #矩阵#快速幂

  • burnside定理,polya计数 模版

    2018-09-16

    #burnside#polya

  • 素性测试 miller rabin+pollard rho

    2018-09-16

    #素性测试#素数

  • 潸然泪下 盘点仙剑十大让人动情女子

    2018-09-16

    #仙剑#感动

  • 仙剑四十大感人经典语录

    2018-09-16

    #仙剑#感动#语录

  • hdu1016 Prime Ring Problem解题报告

    2018-09-16

    #深度优先搜索#素数#hdu

  • hdu1232 畅通工程 解题报告

    2018-09-16

    #数据结构#hdu#并查集

  • hdu1247 Hat’s Words 解题报告

    2018-09-16

    #字典树#数据结构#hdu

  • hdu1604 Deque 2013多校第一场1005

    2018-09-16

    #动态规划#hdu

  • hdu1711 Number Sequence 解题报告

    2018-09-16

    #kmp#hdu

  • hdu1754 I Hate It 解题报告

    2018-09-16

    #数据结构#hdu#线段树

  • hdu1785 You Are All Excellent

    2018-09-16

    #数论#hdu

  • hdu1896 Stones 解题报告

    2018-09-16

    #hdu#优先队列

  • hdu2036和hdu2108 叉乘的运用

    2018-09-16

    #计算几何#hdu

  • hdu2222 Keywords Search 解题报告

    2018-09-16

    #AC自动机#kmp#数据结构#hdu

  • hdu2955 Robberies 教你怎样抢银行划算!

    2018-09-16

    #动态规划#hdu#背包问题

  • hdu2971 Tower 矩阵快速幂

    2018-09-16

    #递归#矩阵#快速幂#hdu

  • hdu4161 Iterated Difference 解题报告

    2018-09-16

    #hdu#枚举

  • hdu4162 Shape Number 解题报告

    2018-09-16

    #数据结构#hdu#枚举#后缀数组#旋转

  • hdu4163 Stock Prices 解题报告

    2018-09-16

    #排序#hdu

  • hdu4165 Pills 解题报告

    2018-09-16

    #递归#数论#hdu#卡特兰数

  • hdu4291 A Short problem 矩阵快速幂 成都区预赛的一题

    2018-09-16

    #矩阵#快速幂#hdu

  • hdu4300 Clairewd’s message 多校第一场

    2018-09-16

    #kmp#hdu

  • hdu4301 Divide Chocolate 动态规划解题报告(多校1)

    2018-09-16

    #动态规划#hdu

  • hdu4308 Saving Princess claire 搜索解题报告(多校1)

    2018-09-16

    #hdu#广度优先搜索#最短路

  • hdu4412 Sky Soldiers 动态规划 杭州网赛的第三题

    2018-09-16

    #动态规划#hdu

  • hdu4419 Colourful Rectangle 搜索+矩形分割 杭州赛区网赛最后一题

    2018-09-16

    #深度优先搜索#hdu#矩形#分治

  • hdu4602 Partition 2013多校第一场100

    2018-09-16

    #递归#数论#hdu

  • hdu4611 Balls Rearrangement 最大公约数 2013多校2-1001

    2018-09-16

    #最大公约数#数论#hdu

  • hdu4619 Warm up 2 二分图匹配 2013多校第二场1009

    2018-09-16

    #贪心#hdu#二分图#图论#最大匹配

  • hdu4632 Palindrome subsequence 20103多校4-1001

    2018-09-16

    #动态规划#hdu

  • [转]高级数据结构设计--并查集及实现学习笔记(有趣篇)

    2018-09-16

    #数据结构#并查集#算法

  • Linux命令之Crontab学习笔记

    2018-09-16

    #Linux#crontab

  • poj1006 中国剩余定理

    2018-09-16

    #数论#poj#中国剩余定理

  • POJ1019 ---简单的数学找规律题

    2018-09-16

    #递归#poj#规律

  • poj1050经典DP的二维形式

    2018-09-16

    #动态规划#poj

  • 通过POJ1061青蛙的约会来谈扩展欧几里得算法

    2018-09-16

    #数论#poj#同余方程#扩展欧几里得

  • POJ 1062 昂贵的聘礼 解题报告

    2018-09-16

    #最短路#图论#poj

  • poj1080 人类基因配对

    2018-09-16

    #动态规划#poj

  • poj1088记忆化搜索

    2018-09-16

    #poj#记忆化搜索

  • POJ 1125 Stockbroker Grapevine 解题报告

    2018-09-16

    #最短路#图论#poj#floyd

  • poj1141 Brackets Sequence(经典DP) 解题报告另附官方测试数据

    2018-09-16

    #动态规划#字符串匹配#poj

  • POJ1142Smith Numbers一道简单的数学题

    2018-09-16

    #数论#poj

  • poj1191棋盘分割(动态规划)

    2018-09-16

    #动态规划#poj

  • POJ1222EXTENDED LIGHTS OUT 解题报告

    2018-09-16

    #枚举#poj#位运算#高斯消元

  • POJ1251 Jungle Roads 解题报告

    2018-09-16

    #图论#poj#生成树#kruskal

  • POJ1258 Agri-Net 解题报告

    2018-09-16

    #图论#poj#prim#生成树

  • POJ 1274 The Perfect Stall 解题报告

    2018-09-16

    #二分图#最大匹配#poj#匈牙利算法

  • poj1284 欧拉函数的运用

    2018-09-16

    #最大公约数#数论#欧拉函数#poj#费马小定理

  • POJ1321 棋盘问题 解题报告

    2018-09-16

    #深度优先搜索#poj#搜索

  • POJ 1325 Machine Schedule 解题报告

    2018-09-16

    #图论#poj#最小覆盖点

  • POJ1390 Blocks 常见动态规划模型

    2018-09-16

    #动态规划#poj#DP

  • POJ1426 Find The Multiple 解题报告

    2018-09-16

    #深度优先搜索#数论#poj#搜索

  • poj1458 最长公共子序列问题

    2018-09-16

    #动态规划#poj#最长公共子序列

  • POJ 1469 COURSES 解题报告

    2018-09-16

    #二分图#图论#最大匹配#poj

  • poj1579 Function Run Fun 解题报告

    2018-09-16

    #poj#记忆化搜索

  • POJ1681 Painter's Problem 解题报告

    2018-09-16

    #枚举#poj#位运算#高斯消元

  • POJ 1789 Truck History 解题报告

    2018-09-16

    #图论#poj#prim#生成树

  • POJ 1797 Heavy Transportation 解题报告

    2018-09-16

    #并查集#最短路#图论#poj#生成树

  • POJ1830 开关问题 解题报告

    2018-09-16

    #poj#位运算#高斯消元

  • poj2115 同余方程与扩展欧几里得

    2018-09-16

    #poj#中国剩余定理#同余方程#扩展欧几里得

  • POJ2249--一道简单的排列组合题

    2018-09-16

    #数论#poj#排列#组合数学

  • POJ2689 Prime Distance 素数筛选

    2018-09-15

    #素数#筛选#poj

  • POJ2251 Dungeon Master 解题报告

    2018-09-15

    #数据结构#广度优先搜索#poj#搜索#队列

  • POJ 2253 Frogger 解题报告

    2018-09-15

    #最短路#图论#poj#生成树

  • POJ2262Goldbach's Conjecture 简单的素数判定

    2018-09-15

    #素数#枚举#poj

  • 从poj2356来体会 抽屉原理 的妙用

    2018-09-15

    #数论#poj#抽屉原理

  • POJ2407Relatives --欧拉函数的简单运用

    2018-09-15

    #素数#欧拉函数#poj

  • poj2409 Let it Bead 解题报告

    2018-09-15

    #polya#poj#组合数学

  • poj2478 又一欧拉公式的运用

    2018-09-15

    #数论#欧拉函数#poj

  • poj2479与poj2593,同一道DP题

    2018-09-15

    #动态规划#poj

  • POJ 2485 Highways 解题报告

    2018-09-15

    #图论#poj#最小生成树

  • POJ2488 A Knight's Journey 解题报告

    2018-09-14

    #深度优先搜索#poj#搜索

  • poj 2492 并查集

    2018-09-14

    #数据结构#并查集#poj

  • POJ 2506 高精度+递推

    2018-09-14

    #递归#poj#高精度

  • poj2663 Tri Tiling 解题报告

    2018-09-14

    #递归#数论#poj

  • POJ 2773 互素问题

    2018-09-14

    #数论#素数#poj

  • poj 2891 Strange Way to Express Integers 扩展欧几里得

    2018-09-14

    #最大公约数#数论#poj#扩展欧几里得#欧几里得

  • POJ3009Curling 2.0解题报告

    2018-09-14

    #深度优先搜索#poj#搜索

  • poj3070来体会矩阵的妙用

    2018-09-14

    #矩阵#快速幂#poj#斐波那契数列

  • poj3090 欧拉函数与法雷级数

    2018-09-14

    #数论#欧拉函数#poj#法雷级数

  • POJ3185 The Water Bowls 解题报告

    2018-09-14

    #枚举#poj#位运算#高斯消元

  • poj3233 又见矩阵,不过是等比吗?

    2018-09-14

    #数论#矩阵#poj#分治

  • POJ3278 Catch That Cow 解题报告

    2018-09-14

    #数据结构#广度优先搜索#poj#搜索

  • poj3370同样的是抽屉原理

    2018-09-14

    #数论#poj#抽屉原理

  • USACO 2.2.2 Subset Sums解题报告

    2018-09-14

    #动态规划#递归#记忆化搜索#usaco

  • POJ测试数据及官方标程,你能HOLD住吗?

    2018-09-14

    #poj#测试数据

  • USACO 2.2.3 Runaround Numbers解题报告

    2018-09-14

    #枚举#usaco

  • USACO 2.2.4 Party Lamps 解题报告

    2018-09-14

    #枚举#规律#搜索#usaco

  • USACO 2.3.1 Longest Prefix 解题报告

    2018-09-14

    #动态规划#字典树#数据结构#usaco

  • USACO 2.3.2 Cow Pedigrees 解题报告

    2018-09-14

    #动态规划#usaco#二叉树

  • USACO 2.3.3 Zero Sum 解题报告

    2018-09-14

    #深度优先搜索#枚举#usaco

  • USACO 2.3.4 Money Systems 解题报告

    2018-09-14

    #动态规划#usaco

  • USACO 2.3.5 Controlling Companies 解题报告

    2018-09-14

    #图论#usaco

  • USACO 3.1.4 Shaping Regions 搜索+矩形切割

    2018-09-14

    #深度优先搜索#矩形#分治#usaco#矩形切割

  • USACO 3.1.5 Contact 解题报告

    2018-09-14

    #字典树#usaco

  • USACO 3.1.6 Stamps(动态规划)解题报告

    2018-09-14

    #动态规划#usaco#背包

  • USACO 3.2.1 Factorials 求n!最后非零数(初级)

    2018-09-14

    #数论#usaco#阶乘

  • USACO 3.2.2 Stringsobits 解题报告

    2018-09-14

    #组合数学#usaco

  • USACO 3.2.3 Spinning Wheels

    2018-09-14

    #枚举#usaco

  • USACO 3.2.4 Feed Ratios 解题报告

    2018-09-14

    #高斯消元#usaco

  • USACO 3.2.5 Magic Squares (BFS+康托展开)

    2018-09-14

    #广度优先搜索#usaco#康托展开

  • USACO 3.2.6 Sweet Butter(SPFA求最短路)

    2018-09-14

    #usaco#spfa

  • USACO 3.3.1 Riding The Fences 欧拉回路

    2018-09-14

    #usaco#欧拉回路

  • ZOJ 2562 More Divisors 反素数

    2018-09-14

    #素数#zoj#反素数

  • ZOJ 3574 Under Attack II解题报告

    2018-09-14

    #矩形#zoj#归并排序#逆序对

  • ZOJ月赛解题报告-ZOJ Monthly, February 2012(ZOJ3571-3580)

    2018-09-14

    #最大公约数#数论#矩阵#数据结构#zoj

  • weibo
  • github
小龙少,年二十有二。始从文,连考而不中。遂习武,练武场上发一矢,中鼓吏,逐之出。改学IT,自建一变量,用之,烫烫烫烫烫烫烫烫烫烫!