上一页 1 ··· 7 8 9 10 11 12 13 下一页
摘要: 好久没写搜索题了,就当练手吧。 vis[][][1025]第三个维度用来维护不同key持有状态的访问情况。 对于只有钥匙没有对应门的位置,置为'.',避免不必要的状态分支。 阅读全文
posted @ 2016-10-08 21:15 Luke_Ye 阅读(469) 评论(0) 推荐(0) 编辑
摘要: 用DFS+记忆化写了一下,拓扑排序+DP的我还没弄明白。据说Codeforces 721C就是这类题目,因为有费用限制,DFS不太好写,有时间把DP法想明白来。 阅读全文
posted @ 2016-10-06 22:45 Luke_Ye 阅读(829) 评论(2) 推荐(0) 编辑
摘要: 题目:多次给出信息,告诉你[a,b]区间的和,求多少个错误信息(错误信息不考虑)。 乍一看有点像线段树,但想想就发现这个并不能用线段树方便地解决。后来经提醒是并查集的一种经典题型。 把区间抽象为并查集的子节点和母根结点,子节点存放了到根节点的区间和。这样当引入一个新的区间,如果区间左右界根节点不同就 阅读全文
posted @ 2016-10-06 21:07 Luke_Ye 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 比赛的时候一眼就看出是字典树+DFS了,然而这题题意比较难理解,还有不少WA点。所以很快敲完之后和队友反复斟酌题意,修改代码。结果还是交了3发WA。最后猜测目录和书在同一个母目录域下同名是不同的,增加了状态标记才AC。 赛后觉得比赛的时候写得比较乱,所以抽空重构了一遍。 阅读全文
posted @ 2016-10-02 23:22 Luke_Ye 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 问题描述:约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列,求最后出列的人的原始编号。 朴素算法:链表 阅读全文
posted @ 2016-09-29 00:38 Luke_Ye 阅读(848) 评论(0) 推荐(0) 编辑
摘要: 题意哇:求N!末尾多少个0。 很容易想到转化为求N!中5因子的个数。但是从数据范围来看必然不可能一个一个算出来。 所以这里借用数论的一个知识。 如果p是素数,那么n!中p因子的个数可以表示为1-n中整除p^1的个数+1-n中整除p^2的个数...(p^x<=n) 而不难看出,1-n中整除p的个数小于 阅读全文
posted @ 2016-09-20 17:26 Luke_Ye 阅读(209) 评论(0) 推荐(0) 编辑
摘要: #include #include #include #include #include #include #include #include #include #include #include #define N 998244353 #define LL long long int int n,m; using namespace std; LL dp[505][505... 阅读全文
posted @ 2016-09-12 10:15 Luke_Ye 阅读(555) 评论(2) 推荐(0) 编辑
摘要: 挺简单的一道题,但是做的时候没想好就开始写代码了,导致迷之WA,还是要多练习啊。 阅读全文
posted @ 2016-09-03 20:07 Luke_Ye 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 拆点,套模板。 详情见代码。 阅读全文
posted @ 2016-08-29 15:55 Luke_Ye 阅读(270) 评论(0) 推荐(0) 编辑
摘要: #include #include #define N 20000 #define INF 2b?b:a; } vector g[N]; int used[N]; LL dfs(int now,LL f) { if(now==n) return f; used[now]=1; for(int i=0;i0) { ... 阅读全文
posted @ 2016-08-29 10:46 Luke_Ye 阅读(171) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 下一页