24
2019-10
2019-10
游戏设计模式——面向数据编程
随着软件需求的日益复杂发展,远古时期面的向过程编程思想才渐渐萌生了面向对象编程思想。
当人们发现面向对象在应对高层软件的种种好处时,越来越沉醉于面向对象,热衷于研究如何更加优雅地抽象出对象。
然而现代开发中渐渐发现面向对象编程层层抽象造成臃肿,导致运行效率降低,而这是性能要求高的游戏编程领域不想看到的。
于是现代游戏编程中,面向数据编程的...
10月24日
3,765
14
2017-08
2017-08
ACdream 1157 Segments (CDQ分治)
将修改操作和查询操作分开来,每次都用左区间的修改操作更新右区间的查询操作,因为左区间的修改操作对左区间的查询操作在递归左区间时就已经处理了,同理查询操作也是一样。
写的太暴力,还能过程能优化很多
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
templ...
08月14日
3,332
14
2017-08
2017-08
UVALive 5871 Arnooks’s Defensive Line (CDQ分治)
在我们平常使用的分治中,每一个子问题只解决它本身(可以说是封闭的)。
而在cdq分治中,对于划分出来的两个子问题,前一个子问题用来解决后一个子问题而不是它本身。
具体算法流程如下:
1.将整个操作序列分为两个长度相等的部分(分)
2.递归处理前一部分的子问题(治1)
3.计算前一部分的子问题中的修改操作对后一部分子问题的影响(治2)
4.递归处理后一部分子问...
08月14日
3,380
08
2017-08
2017-08
UVALive 7648 Passwords (AC自动机 + DP)
题意:~
思路:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
template <class T> inline bool scan_d(T &ret) {char c; int sgn;if(c=getchar(),c==EOF...
08月08日
3,355
08
2017-08
2017-08
UVALive 7649 Performance Review (树状数组)
题意:~
思路:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
template <class T> inline bool scan_d(T &ret) {char c; int sgn;if(c=getchar(),c==EOF...
08月08日
2,794
23
2017-07
2017-07
UVALive 4957 Fake scoreboard (最大流)
题意:~
思路:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PI;
const int INF = 0x3f3f3f3f;
const int MAXN = 1500;
const...
07月23日
4,294
17
2017-07
2017-07
UVALive 4817 Calculator (表达式计算)
题意:~
思路:大数中缀表达式计算。。
import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.u...
07月17日
3,048
16
2017-07
2017-07
UVALive 7429 Guessing Camels (求逆序数对)
题意:~
思路:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PI;
#define lson l, m, rt<<1
#define rson m+1, r, rt<...
07月16日
2,972
16
2017-07
2017-07
UVALive 7427 Elementary Math (二分匹配)
题意:~
思路:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PI;
const int MAXN = 10010;
const int MAXM = 10010;
struct...
07月16日
3,400
16
2017-07
2017-07
UVALive 7425 Cleaning Pipes (2-sat)
题意:~
思路:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<int, int> PI;
const int MAXN = 10020;
const int MAXM = 5000010;
stru...
07月16日
4,287