• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
日常任务
天天挖坑
博客园 首页 新随笔 联系 订阅 订阅 管理

02 2014 档案

 
数位DP
摘要:数位DP:以前遇到数位dp的题都是用其他的方法做的,这些遇到标准的数位dp的题就傻眼了。之前一道题计算1,2的个数,差点摸到数位dp的门槛了。入门资料基础题不要62#include #include int dp[8][3];//d[l][0]表示不存在不吉利数字 (包含d[l][1])//d[l][1]表示不存在不吉利数字,但首位是2 //d[l][2]表示存在不吉利的数字void init() { memset(dp, 0, sizeof dp); dp[0][0] = 1; for (int i = 1; i = 0; --i) { ans += dp[i... 阅读全文
posted @ 2014-02-27 19:58 fripSide 阅读(306) 评论(0) 推荐(0)
常见题型快速回顾
摘要:待完成的任务:1.用无脑的方法刷完题2.想简单方法3.总结:大数运算二叉树的遍历同类题型:1078笨办法直接建树:#include #include char str[105];struct Node { Node *lChild; Node *rChild; char d;} Tree[105];int pos;int cur;Node* BuildTree(int e) { if (str[cur] == '#' || cur >= e) return NULL; Tree[pos].lChild = Tree[pos].rChild = NULL; N... 阅读全文
posted @ 2014-02-25 17:00 fripSide 阅读(248) 评论(0) 推荐(0)
动态规划——初步
摘要:练习题集Greedy Tino滚动数组#include #include const int INF = 1e9;int main() {#ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout);#endif int t; while (scanf("%d", &t) != EOF) { int caseid = 0; while (t--) { int n; scanf(&qu 阅读全文
posted @ 2014-02-22 18:47 fripSide 阅读(153) 评论(0) 推荐(0)
刷题最佳代码风格
摘要:由于算法题一般都有6k最大文件限制,又要节约打字时间又要追求效率和准确率,和工程的要求有很大的不同。所以尽量要使用简洁的风格。之前是和工程一样严格遵循google C++编程规范,浪费了apm的调试还容易出错,写出的程序性能还不高比别人的难看代码多上百ms。为了提高准确率,我要一改以前的迂腐作风,不到200行的程序讲究什么编程规范。我仔细研究了曾经的top coder NO.1 Petr的第一视角,要找出一种最有效的代码风格:SRM 529codeforces NO.1 tourist的代码:#include #include #include #include #include #inclu 阅读全文
posted @ 2014-02-20 19:18 fripSide 阅读(672) 评论(0) 推荐(0)
Codeforces Round #230 (Div. 2) 解题报告
摘要:Problem A. Nineteen思路: 除了首位像连的n,其他的字母不能共用nineteenineteen。所以可以扫描一遍所有的字符串将出现次数保存到hash数组,n的次数(n - 1) / 2,e为e / 3。最小值就是min(i, e / 3, t , (n - 1) / 2)。#include #include int main() {#ifndef ONLINE_JUDGE freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout); 阅读全文
posted @ 2014-02-19 20:19 fripSide 阅读(174) 评论(0) 推荐(0)
搜索——进阶篇
摘要:[HDU 1043 Eight](http://acm.hdu.edu.cn/showproblem.php?pid=1043)=========== 阅读全文
posted @ 2014-02-18 21:41 fripSide 阅读(125) 评论(0) 推荐(0)
线段树
摘要:线段树:线段树的定义定义1 长度为1的线段称为元线段。定义2 一棵树被成为线段树,当且仅当这棵树满足如下条件:(1) 该树是一棵二叉树。(2) 树中每一个结点都对应一条线段[a,b]。(3) 树中结点是叶子结点当且仅当它所代表的线段是元线段。(4) 树中非叶子结点都有左右两个子树,做子树树根对应线段[a , (a + b ) / 2],右子树树根对应线段[( a + b ) / 2 , b]。但是这种二叉树较为平衡,和静态二叉树一样,提前根据应用的部分建立好树形结构。针对性强,所以效率要高。一般来说,动态结构较为灵活,但是速度较慢;静态结构节省内存,速度较快。 ... 阅读全文
posted @ 2014-02-16 20:58 fripSide 阅读(1191) 评论(0) 推荐(0)
搜索——基础篇
摘要:1.入门级hdu 1010 Tempter of the Bone注意BFS是向4个方向同时扩展,搜索的一定是最短路径。如果把用掉的点标记:2 2 3S.D.这组数据用BFS只能搜到1,不能搜到3的路径。BFS不知道怎么剪枝才能不超时。DFS解法:/*------------------------------------------------@file hdu1010解题:优化: @author fripSide@date 2014/02/16------------------------------------------------*/#include #i... 阅读全文
posted @ 2014-02-16 19:08 fripSide 阅读(230) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3