2009-11-10 14:58
09年最后一个赛区哈尔滨赛区结束后,今年的全部比赛也宣布结束了。怎么说呢?有惊喜,也有遗憾。上海赛区惊喜得收获了一枚金牌,学校排名第八,比较靠后,但排在我们前面的是ACM传统六大强校(清华,北大,复旦,上交,中大,浙大) + 福州大学,他们都是在多个赛区出线的,所以对我们比较有利。然后这次的哈尔滨赛区,由于各种原因,很多强队多不来这个赛区了,本来我们想趁此机会捞个出线名额的,没想到只混了个金牌第七名(除去打星队伍),正所谓人品守恒啊,唉。。
具体说一下今天比赛的情况吧,比赛一开始,很多队 |
2009-09-28 10:58
昨天在浙大月赛碰到的这个题。题意大概是给你n个数,这些数有可能相同,问有多少种排列满足一下要求:
排列a[1], a[2], a[3].......a[n]中,不多于k个数a[i], 有a[i] > a[i+1]。称这些数为“逆点”吧。
之前也见到过类似的题,那个题是没有相同的数的,比较简单。先说一下那个题:因为所有的数都不一样,所以数的具体大小就没有意义了,可以看作是1, 2, 3, .....n,用f[i][j] 表示前i个数的排列有j个“逆点”的排列有多少种.
设前 i - 1 个数组成的排列中有 j 个“逆点”的排列有 f[i-1][j] 种,这时把 i 插到这些 |
2009-08-31 17:46
当时比赛碰到这个题时,还不知法雷序列,连分数为何物,于是纠结了很久还是徒劳无功,窘。。。
时隔半年,在uva上重做此题,由于case数没初始化为0wa很多次之后,终于AC,良良真乃chal神啊!~
题意很简单:给定三个数,a,b,n,叫你求出两个分数,a1/b1, a2/b2, 满足 a1/b1 <= a/b <= a2/b2, b1<=n, b2<=n,且最小化a2/b2 - a1/b1。很经典的最优有理数逼近(是这样叫的吧?)
分析:对于求a1/b1不难想到一个算法就是:先找到a/b在Fb中的前一项p/q,再找到p/q在Fb中的前一项x/y,直到当前的分数的分母 |
2009-08-14 22:39
POJ 3691 DNA repair
f[i][j] 表示主串前i个字母且走到自动机第j个节点时要改变的最小字母数,使得主串不含有不合法的子串。
很久没贴过代码了。。呵呵
#include <stdio.h> #include <cstring> #define MaxL 1010
|
2009-07-25 17:52
poj上的bt题
一.动态规划
参考资料:
刘汝佳《算法艺术与信息学竞赛》
《算法导论》
推荐题目:
*http://acm.pku.edu.cn/JudgeOnline/problem?id=1141
简单
*http://acm.pku.edu.cn/JudgeOnline/problem?id=2288
中等,经典TSP问题
*http://acm.pku.edu.cn/JudgeOnline/problem?id=2411
中等,状态压缩DP
*http://acm.pku.edu.cn/JudgeOnline/problem?id=1112
中等
|
2009-07-17 19:25
在比赛的时候,最后一题死活没想清楚,虽然最后还剩下30多分钟,但还是没能弄出来,而网络同步赛不少人不到两个小时就全切了,差距啊。。继续努力吧。
A:
话说AC的程序复杂度让出题者气得吐血,N^2, N^2logN, 甚至是N^3...不说了,反正怎么搞都过,呵呵。。。
B:
最长递增子序列,经典O(NlogN)的算法。
C:
多处理器的调度问题:给你N个任务,每个任务都有一个开始时间s,结束时间t,问在每个处理器的任务时间都不冲突的前提 |
2009-06-14 17:58
一道背包题,昨晚舍友在做SRM跟我说了一下这个题。
1。当时想了一个很暴力的dp,用f[i][j][k]表示用前i个方块是否可以组成第一堆高度为j,第二堆高度为k的情况。因为我认为会有很多不合法的情况,于是用set水了一下,结果红果果的tle了,而且也会存在爆空间的危险。
2。继续努力,用f[i][j]表示用前i个方块组成高度较高者为j时,高度较低者最高能达到什么高度(非常拗口的说,事实也证明这种表示方法不能得到最优解,所以忽略之。)
3。方法二的失败之处在于只保存了高度差最小的结果,这样会忽略掉一些当前 |
2009-06-02 13:30
/*
POJ1904
求二分图的所有可能匹配边(i,j),即删除i,j后剩下的图还是构成一个完全匹配
以下:lx[i]表示初始匹配中与第i个王子匹配的公主,ly[j]表示初始匹配中与第j个公主匹配的王子
暴力做法:对于每条边(i,j),删除i,j后如果可以从ly[j]开始找到一条增广路,则(i,j)是一条符合条件的边
进一步分析:(i,j)符合条件 |
2009-04-22 12:35
第一次看到这个题,没想出来,放了一下。后来过了几天在OS的课上无聊想了一下,突然有灵感了,呵呵。
首相可以把xi从大到小排序,因为根据行列式的性质,可以同时把两行两列交换而不改变行列式的值。
排完序后,我模拟了一些小的数据,发现最后一定后化成一个对角矩阵,而对角线上的元素就是xi减去xi的约数对应的位置元素(有点拗口,可能没说清楚,呵呵)
代码:
#include <stdio.h>
#include <algorithm>
#define ll long long
#define mod |
2009-04-18 18:22
看了一下以前写的文章,发现今天竟然是我进基地一周年的时间了啊,呵呵,不知不觉就一年了,发篇文章纪念一下。。。 |
|
|
|