自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 [HNOI2002]营业额统计

花了一天钻研了splay,然后发现splay没我想象的那么难……以前都是写SBT来着……  但是splay的速度确实没那么快,但是真的挺好写的~我写的版本测了这题以后又用了一下别人的splay,发现通过这题大多数splay在750ms上下,我是688ms,说明还算是不错的啦~啦啦啦~#include #include #include #include using name

2015-01-26 17:07:25 369

原创 USACO 2.1 Sorting a Three-Valued Sequence

最快的方法当然是O(n)了先桶排一下,知道多少个1,多少个2,多少个3. 这样我就知道,有多少个2和多少个3在1的位置上~a[i][j]表示,在有多少个i在j的位置上那么如果tmp = min(a[i][j]  , a[j][i]), 显然至少要tmp次才可以把他们这一组数组交换位置。那么就要进行那么几次配对,把可以直接交换位置的全部交换完毕。 这些是不可能

2015-01-25 12:22:00 348

原创 USACO 2.1 Ordered Fractions

Executing... Test 1: TEST OK [0.005 secs, 3564 KB] Test 2: TEST OK [0.005 secs, 3564 KB] Test 3: TEST OK [0.005 secs, 3564 KB] Test 4: TEST OK [0.005 secs, 3564 KB] Test 5: TEST OK [0.0

2015-01-25 11:24:15 335

原创 USACO 2.1 The Castle

BFS用洪水填充染色。 记录每个颜色的房间数量 然后按照从下往上,从左往右的顺序穷举一边,拆掉墙,如果墙两边的房间颜色相同,跳过。 颜色不同,把颜色所代表的房间数量相加,和答案对比,更新答案即可。Compiling...Compile: OKExecuting... Test 1: TEST OK [0.008 secs, 3572 KB] Test 2:

2015-01-25 10:45:25 456

原创 USACO 1.4 Checker Challenge 位运算

Test 1: TEST OK [0.003 secs, 3372 KB] Test 2: TEST OK [0.003 secs, 3372 KB] Test 3: TEST OK [0.003 secs, 3372 KB] Test 4: TEST OK [0.003 secs, 3372 KB] Test 5: TEST OK [0.003 secs, 3372 KB

2015-01-24 10:50:07 616

原创 USACO 1.5 Superprime Rib

直接穷举一下,一边穷举一边判断…… 几乎瞬间出答案。 当然如果是比赛,打表才是最好的选择。/*TASK:sprimeLANG:C++*/#include #include int n;inline bool check(int k){ for (int i = 2; i <= sqrt(k); ++ i) if (k % i == 0) return false;

2015-01-24 00:37:35 627

原创 USACO 1.4 Prime Palindromes

构造所有回文再判断。 时间不完美。Executing... Test 1: TEST OK [0.024 secs, 3504 KB] Test 2: TEST OK [0.027 secs, 3504 KB] Test 3: TEST OK [0.027 secs, 3504 KB] Test 4: TEST OK [0.024 secs, 3504 KB] T

2015-01-24 00:18:35 399

原创 USACO 1.5 Number Triangles 数塔问题

虽然是简单的数塔问题,f[i][j] = a[i][j] + max(a[i-1][j], a[i][j]); 输出max (f[i][j])即可。但是直接开a[1000][1000]占用内存太大,所以使用滚动数组。当然取余的方法是可行的~但是我还是更喜欢用指针的方法,用交换指针的方式来解决数组少的情况…… 具体程序见下~/*TASK:numtriLANG:C++*/#

2015-01-23 23:24:10 448

原创 USACO 1.4 Packing Rectangles

我也是醉了! 早知道直接看英文原文了,看了一个版本的翻译漏了2个核心信息:1 矩阵可以旋转  2:输出的p q有 p程序虽然长,但是挺无脑的,就是模拟。 而且仔细看应该看的出,结构都是一样的/*TASK:packrecLANG:C++*/#include #include #include #include using namespace std;struct poin

2015-01-23 19:07:39 436

原创 USACO 5.3 Network of Schools

tarjan标准题。 直接tarjan即可。思考一个问题:添加多少个边让图变为连通图。   Test 1: TEST OK [0.003 secs, 3512 KB] Test 2: TEST OK [0.003 secs, 3380 KB] Test 3: TEST OK [0.003 secs, 3512 KB] Test 4: TEST OK [0.005

2015-01-22 23:20:07 460

原创 USACO 1.4 The Clocks

虽然很多方法都一个意思……但是我因为算错2^27,认为爆int就没用位运算……然后傻呼呼的居然在压十进制位在做BFS……在USACO上TLE,但是其他OJ一般卡时内能过……9个数字分解为0123,然后用一个9位数保存…… 大量时间浪费在拆解数字上……/*TASK:clocksLANG:C++*/#include #include #include #include

2015-01-22 21:10:13 457

原创 USACO 1.4 Mother's Milk

记忆化搜索即可……f[i][j][k]表示这个状态是否到达过……/*TASK:milk3LANG:C++*/#include #include using namespace std;bool f[22][22][22] = {0};bool ans[22] = {0};int A, B, C;inline void change(int &a,int &b,

2015-01-22 19:11:06 353

原创 USACO 1.4 Arithmetic Progressions

这题略有点繁琐啊- - 先构造出所有的双平方数字在a数组里,p[i]表示i这个数字,在a数组的下标穷举公差……但是公差其实是有范围的(小优化一下)直接在双平方数字基础上穷举,用公差计算出的新的数字,在O(1)时间内判断出,是否还是双平方数…… 然后倒着算一下就行了。 程序自我感觉还算短……我没啥剪枝的说,下次想想。这个很慢了……别人都0.4秒Executing... Te

2015-01-22 17:53:55 395

原创 USACO 1.3 Ski Course Design

直接穷举区间就行了- - 从[0, 16] 到[1, 17]之类的, 直接暴力一下……/*TASK:skidesignLANG:C++*/#include #include using namespace std;int n, tub[101]={0},ans(0x7fffffff), st;int main(){ freopen("skidesign.in",

2015-01-22 15:35:59 414

原创 USACO 1.3 Wormholes

看似是水题,反正我用了2小时才AC……愁死了……而且看题解好像很简答的样子,但是我又没看懂啊啊啊啊啊啊啊……拆点,DFS穷举所有情况,然后tarjan判环…… 顺便复习了tarjan..但是显然判断是否有环有更好的办法。 比如题解的方法……回头研究一下题解的方法,看起来非常简单的样子。题解穷举所有配对的方法也简单高效……/*TASK:wormholeLANG:C++

2015-01-22 15:12:05 635

原创 USACO 1.3 Combination Lock

难道是USACO更新新加的题?我以前好像没写过这题啊!直接穷举判重,省事直接用map解决。/*TASK:comboLANG:C++*/#include #include #include using namespace std;int n;struct num{ int a, b, c; num(int A, int B, int C):a(A)

2015-01-21 22:24:45 432

原创 USACO 1.3 Prime Cryptarithm

直接穷举搜索,剪枝。 不想剪了,反正不会TLE。/*TASK:crypt1LANG:C++*/#include #include using namespace std;int n, ans(0);int a[10];int b[100]={0};int main(){ freopen("crypt1.in", "r", stdin); freopen("

2015-01-21 21:40:51 458

原创 USACO 1.3 Mixing Milk

直接排序贪心,没啥好说的。 可以桶排优化,但是省事直接SORT了/*TASK:milkLANG:C++*/#include #include #include using namespace std;const int max_m = 5000;paira[max_m];int n,ans(0), m;int main(){ freopen("milk.in"

2015-01-21 21:05:01 347

原创 USACO 1.3 Barn Repair

典型的贪心问题/*ID:xueyifa4PROG:barn1LANG:C++*/#include #include #include using namespace std;int a[205], b[205];int m, s, c, ans;int main(){ freopen("barn1.in", "r", stdin); freopen("b

2015-01-21 20:19:29 481

原创 USACO以前的1.3.3 [calfflac] 后缀树组方法

后缀数组构造出的height数组,利用RMQ可以解决回文串问题。后缀数组的构造需要在后面加一个ASCII码很小的东西,回文串中间也加一个特殊字符比如#aabbaa 构造后就是 aabbaa#aabbaa*abcd构造后就是 abcd#dcba*大概就这些笔记了……然后就是利用height数组的性质来用平衡树解决RMQ。 用为我用倍增法,所

2015-01-21 20:14:34 670

原创 USACO以前的1.3.3 [calfflac] manacher算法

manacher算法

2015-01-05 18:29:15 537

空空如也

空空如也

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

TA关注的人

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