上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页
摘要: http://acm.whu.edu.cn/land/problem/detail?problem_id=1338题意:N种不同的硬币,每种num[i]个。问把这些硬币摆成一条线共有多少种摆法。解:设硬币共有sum个,不考虑相同硬币是同一种情况。组合数学上的定理(这个忘了,又重新翻的,看来得做题才能加深印象):令S是一个多重集合,又k个不同类型的元素,各元素的重数没别为n1,n2,...,nk。设S的大小为n = n1 + n2 + ... + nk。则S的排列数为: n! / (n1!*n2!*...*nk!);a = sum! % MOD, b = ∑num[i]! % MOD;ans = 阅读全文
posted @ 2012-06-13 16:41 AC_Von 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 最近这一周,实验室搬迁。好多人莫名多出来些许新鲜感,甚至有的人有点小小的兴奋。今天去上边收拾东西,突然感觉这不是喜迁新居,更像是落魄逃亡!翻了翻以前实验室初建的照片,虽然好多师兄都不认识。最初的实验室是他们一块地板一根线的收拾起来的,他们每一个人都值得我们去尊重。我们呢,坐享其成,最后还没把实验室守住,无奈搬迁。也许你会好奇我为什么用“守住”这个词。下面我说以前从cq师兄那了解的情况。 实验室初建的时候,每周都有一次讲座,每个人把自己这周做的东西,学的东西给大家分享。每天早晨7点左右来实验室,大家一起学习,一起聊天。虽然不至于满当当的人,但一眼看过去也不会显得空空的。各种奖学金,各种闻名... 阅读全文
posted @ 2012-06-11 09:59 AC_Von 阅读(523) 评论(1) 推荐(0) 编辑
摘要: 数学 组合数学,polya定理,置换群 +poj2369,poj1026,poj3270,poj2409,poj1286 高斯消元法 poj2947, poj2065, poj1487,poj1166,poj1222 概率问题 poj3071,poj3440 GCD、扩展的欧几里德 poj1061,(发现一道好题)whu 1338, poj2891,poj3101, poj2115 计算方法(矩阵、三分等) poj2976,poj3150, poj3070, poj3301 随机化算法 poj3318, poj2454 杂... 阅读全文
posted @ 2012-06-03 08:21 AC_Von 阅读(1152) 评论(3) 推荐(0) 编辑
摘要: 这两天发现vim的编辑功能确实很猛,偶小小的学习了一下,vim, g++编译器和gdb。。。处于菜鸟阶段,大牛无视。。。下面是本菜平时用的一点配置:$vi ~/.vimrc设置完后$:x 或者 $wq 进行保存退出即可。下面给出一个例子,其中列出了经常用到的设置,详细的设置信息请参照参考资料:“双引号开始的行为注释行,下同“去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限set nocompatible“显示行号set number“检测文件的类型filetype on “记录历史的行数set history=1000 “语法高亮度显示syntax on “下面两行在进行编写代码时 阅读全文
posted @ 2012-05-22 20:16 AC_Von 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 动态规划较为复杂的动态规划poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034记录状态的动态规划(状压DP)poj3254,poj2411,poj1185树型动态规划poj2057,poj1947,poj2486,poj3140较为复杂的动态规划poj 1191中文题,题意很简单。^_^,黑书上的原题,前几天刚做过。先把化简的 σ2 = 1/n*∑xi2 - ¯x;也就是说求出∑xi2的最小值就可以了。dp(x1, y1, x2, y2, k),表示(x1, y1), (x2, y2)所确定的区间上切k刀分成k+1块的最优值。 阅读全文
posted @ 2012-05-18 22:04 AC_Von 阅读(1127) 评论(0) 推荐(0) 编辑
摘要: 最优化剪枝和可行性剪枝poj1699搜索的技巧和优化poj3411, poj1724记忆化搜索poj3373,poj1691最优化剪枝和可行性剪枝POJ 1699对这题无语了,爆搞TLE,加一个怎么也没想到的减枝47MS...规模并不大,可以直接dfs,需要预处理一下,add[i][j]表示第j号串加在第i号串上增加的长度。。。这个计算的时候要注意。本菜就错在这上边wa了一上午!。搜索的技巧和优化poj 3411题意:有m条路,N个顶点。从ai到bi的路要付费,付费有两种方式:1、比如之前去过ci,则可以在ci预付pi的费用。2、到达bi以后再付费,这样的费用是ri。求从1到N共的最小付费.. 阅读全文
posted @ 2012-05-16 09:24 AC_Von 阅读(430) 评论(0) 推荐(0) 编辑
摘要: POJ 1185 炮兵阵地 中文题,题意不再赘述。 解法:从题目可以知道,每一行的状态只与前两行有关。已知N < 100, M <= 10。很明显的可以把M压缩,把M中的每一个位置的状态可以用0,1表示。所以M的总状态可以用长度为M的二进制转化成的十进制数表示。计算可以发现总的合法状态并不多,因为要保证同一行的两个士兵不能相互攻击到。求合法状态的关键代码:REP(i, (1<<m)) { p = i; if(((p << 1) & i) || ((p << 2) & i)) continue; num[sum] = 0; w... 阅读全文
posted @ 2012-05-15 22:11 AC_Von 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 省赛结束了!第一次在我们学校举办,没出什么乱子,老师忙的也够呛。唯独悲剧的是我们给老师的成绩。。。!一个银牌,两个铜牌。我们队因为有队长在,拿到银牌。虽然是银牌第一,但终归不是金。就像昨晚张老师说的:你们不好好做都对不起刘老师!其实这个成绩,我们谁也没能对得起,刘老师,张老师,还有很多关注ACM的老师。。。 整个比赛差不多前两个小时解决掉四道题,然后就悲剧了。。。先是被山东误导去做I,浪费掉40多分钟后发现队长发现很难写。然后去搞J,悲剧的定积分,早忘干净了!最后搞F,还有半个小时左右吧。。。然后就以悲剧收场。每次比赛悲剧了似乎都有理由为自己开脱,可是有时候也该想想为什么会出现这种情况。... 阅读全文
posted @ 2012-05-14 10:03 AC_Von 阅读(321) 评论(3) 推荐(0) 编辑
摘要: 黑书上的原文:本节所有的内容都很重要,尤其是例题,决心掌握DP的读者应当话时间全部掌握。本节的难点是模型的理解,包括一些难度偏大的题目和动态规划理论中的一些问题。学习本节之后,应该对每道题目,都能在很短的时间内把思路完整的整理一遍。对于大部分题目,应当能很快的写出程序。 这里做几个约定:1、加上每道题的提交地址。2、每道题只写转移方程和思路,不贴代码,因为我以后还要再刷。3、个人愚见,大牛无视。1.5.1 括号序列 POJ 1141黑书上的经典例题。dp[i][j]表示i 到j添加的最小括号数。dp[i][j] = Min {dp[i+1][j-1] s[i]s[j] = “()... 阅读全文
posted @ 2012-05-06 10:56 AC_Von 阅读(734) 评论(0) 推荐(0) 编辑
摘要: 今天之所以单独写这道题的解题报告是想总结一下做这道题的思想。个人感觉做dp的话有时候用两个小时体会一道题的思想比用一个小时翻解题报告+看题A掉数道题来的有趣。某大神说,思考是一种美德。。。 题意:N分钟,小刚每分钟可以选择是停下休息还是往前走,如果选择往前走的话可以在第i分钟走Di,当然,小刚的疲劳值也会增加1。如果选择休息则小刚的疲劳值会每分钟减小1,当小刚停下来以后,小刚只能在疲劳值降到0时才能继续再走。已知小刚的疲劳值最多不能超过M,当小刚度过N分钟后要保证他的疲劳值为0,问小刚最多能走多长的距离。 分析:先设dp[i][j]表示小明在i分钟,疲劳值为j时所能走的最远距离。 a... 阅读全文
posted @ 2012-05-05 22:12 AC_Von 阅读(1027) 评论(0) 推荐(0) 编辑
摘要: 记一个KMP算法的应用,经典的KMP算法详解还是看这里 问题:给一个串,求这个串前i位构成的前缀由多少个子串组成。比如aabaabaabaab,前2位是aa,a重复了2次,前6位是aabaab,aab重复了2次,前9位是aabaabaab,aab重复了3次,前12位是aabaabaabaab,aab重复了4次。先说一下next()函数。pre[i] = j表示 S[1...j] = S[i - j....i];下面讨论当i % (i - pre[i]) == 0 时,例如i = 12, pre[12] = 9:如图。S[1...9] == S[3...12];因为已知 i % (i - pre 阅读全文
posted @ 2012-05-04 21:32 AC_Von 阅读(2142) 评论(3) 推荐(3) 编辑
摘要: pagesectionnotitlesubmit1131.5.1例题1括号序列POJ11411161.5.1例题2棋盘分割POJ11911171.5.1例题3决斗Sicily18221171.5.1例题4“舞蹈家”怀特先生ACM-ICPC Live Archive1191.5.1例题5积木游戏http://202.120.80.191/problem.php?problemid=12441231.5.2例题1方块消除http://poj.org/problem?id=13901231.5.2例题2公路巡逻http://202.120.80.191/problem.php?problemid=1 阅读全文
posted @ 2012-05-03 21:05 AC_Von 阅读(1365) 评论(0) 推荐(1) 编辑
摘要: 转载自:http://hi.baidu.com/diannaochina/blog/item/48dfff33c3c36840ad4b5fb5.html一、最近公共祖先(Least Common Ancestors)对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u、v的祖先且x的深度尽可能大。另一种理解方式是把T理解为一个无向无环图,而LCA(T,u,v)即u到v的最短路上深度最小的点。这里给出一个LCA的例子:例一对于T=<V,E>V={1,2,3,4,5}E={(1,2),(1,3),(3,4),(3,5)}则有:LCA(T,5,2)=1 阅读全文
posted @ 2012-05-03 19:15 AC_Von 阅读(580) 评论(0) 推荐(0) 编辑
摘要: 详见:随机平衡二叉查找树Treap的分析与应用#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <algorithm>#define CL(arr, val) memset(arr, val, sizeof(arr))#define REP(i, n) for(i = 0; i < n; ++i)#define FOR(i, l, h) for(i = l; i <= h; ++i)#define FORD(i, 阅读全文
posted @ 2012-05-02 17:10 AC_Von 阅读(525) 评论(0) 推荐(0) 编辑
摘要: 妹的!java些高精度相当与玩cs开外挂!电脑装上java很久了,一直只会写写a + b 玩,今天心血来潮找个高精度来玩玩。^ ^import java.io.*;import java.util.*;import java.math.*;public class Main { public static void main(String [] args) throws IOException { Scanner cin = new Scanner (new BufferedInputStream(System.in)); //建立缓冲区输入流 Big... 阅读全文
posted @ 2012-05-01 20:15 AC_Von 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 二维树状数组用来更新矩阵,写法跟一维的很类似。每次增加i&(-i)的值,不过这里增加的是矩阵的横纵下标;写法如下:void add(int x, int y, int d) { int i, j; for(i = x; i < N; i += lowbit(i)) for(j = y; j < N; j += lowbit(j)) mat[i][j] += d;}LL sum(int x, int y) { LL res = 0; int i, j; for(i = x; i > 0; i -= lowbit(i)) ... 阅读全文
posted @ 2012-04-30 23:00 AC_Von 阅读(2047) 评论(0) 推荐(1) 编辑
摘要: 转自白神:http://hi.baidu.com/%B0%D7%D2%C2%C9%D9%C4%EA2012/blog/item/d2a1a43291acbe3c0a55a9b7.htmlSingle Round MatchSRM 522 DIV1 1050pt ( 很不错的dp题,先需要思考来分析各种情况 ) 推荐代码: practice room writerSRM 521 DIV1 500pt ( 枚举+小偏移,考思路 ) 推荐代码: ACRush,crazyb0ySRM 521 DIV1 1000pt ( dp+矩阵相乘,主要是考状态表示和转移矩阵的建立 ) 推荐代码: 官方题解SRM 阅读全文
posted @ 2012-04-30 11:17 AC_Von 阅读(620) 评论(0) 推荐(1) 编辑
摘要: div 2200pt:水题,用stringstream方便多了550pt:水题,按题意模拟就行,想清楚了再写,要不然越改越乱!1100pt:我是个二百五!!树形dp,dp你妹啊!把所有的的dis[]*2累加,然后找到一条最长的路,把那条路作为最后走的,减掉回来的距离就可以了!我还在那里想个毛树形dp,叉!View Code #include <vector>#include <list>#include <map>#include <set>#include <queue>#include <deque>#include 阅读全文
posted @ 2012-04-30 10:57 AC_Von 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 今天做tc遇到一个很简单的,不过结果要求字符串输出,懒得写模拟,学习了一下stringstream,表示很强大数字转字符串:string numtostr(int i) { stringstream ss; ss<<i; return ss.str();}字符串转数字int strtonum(string s) { int num; stringstream ss(s); ss>>num; return num;}下面为转载内容:【本文来自】http://www.builder.com.cn... 阅读全文
posted @ 2012-04-30 09:41 AC_Von 阅读(474) 评论(0) 推荐(0) 编辑
摘要: 数据结构线段树poj2528,poj2828,poj2777,poj2886,poj2750, poj2892(区间更新)静态二叉检索树,平衡树treap,splaypoj2482, poj3468树状树组poj1195,poj3321, poj2352RMQpoj3264,poj3368并查集的高级应用poj1703, poj2492KMP算法poj1961,poj2406 线段树poj 2528以前做过多次,思路很明显,线段数分区间染色,最后统计颜色的个数。我犯了一个极度二百五的错误,导致这题提交5次!!!col的初始化是-1,更新时我当成0了。T_TView Code #inclu... 阅读全文
posted @ 2012-04-29 13:33 AC_Von 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 昨晚纠结了半天是看KM算法还是复习软工,最后顶不住挂课的压力复习软工,今天考试还算可以,希望不要挂掉。。。上午上课+考试,感觉比连打几场比赛还累。T_T下午队内DIY,中途停电。。。-_-///然后回来开始研究KM。。。找了很多资料,下面这几个算是让我理解一点的吧,感谢大牛!http://cuitianyi.com/blog/%E6%B1%82%E6%9C%80%E5%A4%A7%E6%9D%83%E4%BA%8C%E5%88%86%E5%8C%B9%E9%85%8D%E7%9A%84km%E7%AE%97%E6%B3%95/http://www.cppblog.com/MatoNo1/a.. 阅读全文
posted @ 2012-04-28 21:27 AC_Von 阅读(3509) 评论(1) 推荐(0) 编辑
摘要: 无向图的Tarjan和有向图求强连通分量的Tarjan很像...注意几个不同... 1、没有栈..所以判断时先是看点有没有访问过...else的时候就直接更新Low...不需要再来个判断instack.... 2、DFS时不能从 a 递归到了 b..b又马上从a来更新...所以要多加一个notpre..代表递归b时是从哪个点进去的...防止这种情况.. 3、Low相等的点在无向图中就是在一个双连通图中...这个比有向图的方便..有向图还需要用栈来维护..通过判断退栈来判断强连通分量..摘自:http://blog.csdn.net/kk303/article/details/6881034.. 阅读全文
posted @ 2012-04-25 22:07 AC_Von 阅读(1405) 评论(0) 推荐(0) 编辑
摘要: 好久没有单独开贴写解题报告了,这是昨天队里DIY的一道题。题意是给一颗树,问最少在多少个根节点上放上哨兵能监视整棵树。无非就是枚举根节点,选择放还是不放。dp[root][0]表示root节点不放哨兵,则root->v上都要放上哨兵。dp[root][0] = sum(dp[root->v][1]);dp[root][1]表示root节点放哨兵,则root->v节点上取放或者不放的最小值,dp[root][1] = sum(min(dp[root->v][0], dp[root->v][1]));ps:当时纠结在无向图上了,找不到根节点,所以也就没敢继续想。其实只 阅读全文
posted @ 2012-04-22 10:29 AC_Von 阅读(372) 评论(0) 推荐(0) 编辑
摘要: 大学的我们 怀着憧憬怀着渴望 踏上ACM的舞台 梦想的花朵开始绽放 多少次讨论中思想的碰撞 多少次指尖敲击键盘发出的声响 多少次看到Wrong answer无奈与挣扎 多少次闪出期待Accepted的眼光 多少次出现红色Accepted的喜悦 多少次从早到晚的辛勤付出 多少次伴随着朝阳进入梦乡 或许我们曾被困惑难倒 但我们从未泯灭学习的渴望 或许我们感受到过疲倦 但我们从未放弃追求梦想 小小的电脑承载我们的辛酸和汗水 我们在一次次的思考、编码中成长 风雨兼程,挫折失败 我们一路走来 十年铸剑,只为炉火纯青 一朝出鞘,定当倚天长鸣 看吧,那赛场上飘扬的... 阅读全文
posted @ 2012-04-20 18:45 AC_Von 阅读(424) 评论(0) 推荐(2) 编辑
摘要: 在这里学会的最小费用最大流问题。定义:图G以S为源点,T为汇点。c(i, j)为G的容量,f(i, j)为G的流,w(i, j)为单位流量的费用且w(i, j) = -w(j, i)。费用wf = ∑(fij * wij) (i, j)∈E(G)。就是求最大流F的情况下保证wf最小。 思想:利用Ford-Fulkerson算法的思想,不断的在残留网络中找增广路,这里找的增广路是当前网络从S到T的以单位流量为权值的最短了。因为涉及道负权,所以可以选择spfa或者bellman-ford。实现代码:const int N = 110;const int M = N*N*2;int n, m,... 阅读全文
posted @ 2012-04-18 16:07 AC_Von 阅读(317) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 18 下一页