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

2014年4月14日

近期总结
摘要: 1.USA Today4-8Democrats slam 'offensive' Pelosi image on Breitbart site英语水平真是拙计,看到标题就蠢了.Democrat n. 民主党人;民主主义者;民主政体论者2.USACO4-14Section 1.1 喜大普奔END4-1... 阅读全文
posted @ 2014-04-14 10:28 fripSide 阅读(99) 评论(0) 推荐(0)
 
 

2014年4月2日

每周一水(4-1)
摘要: 4月2日 周三《挑战编程:程序设计竞赛训练手册》 第一章 入门The 3n+1 problem我擦,网真tm烂,只能去刷九度了。朋友圈#include #include const int MAXN = 100001; int Tree[MAXN];int findRoot(int x) { int tmp = x; int ret; while (Tree[x] != 0) { x = Tree[x]; } ret = x; x = tmp; while (Tree[x] != 0) { tmp = Tree[x]; ... 阅读全文
posted @ 2014-04-02 09:11 fripSide 阅读(176) 评论(0) 推荐(0)
 
 

2014年3月22日

Codeforces Round #238 (Div. 2) 解题报告
摘要: 明天写 阅读全文
posted @ 2014-03-22 23:57 fripSide 阅读(125) 评论(0) 推荐(0)
 
 

2014年3月10日

记忆化搜搜
摘要: 例一:求到终点的路径条数思路:深搜的时候是从vis[1][1]开始搜的,第一次直搜到vis[n][n],然后返回的时候可以得到vis[n-1][n-2]那个点的路,当第二次搜到vi[n-1][n-2]这个点的时候就不用往下搜了, 直接加上在这个点的路。代码:lld dfs(int x, int y) { if (vis[x][y] != 0) return vis[x][y]; //如果改点已搜过,直接返回结果即可 if (x == n && y == n) return 1; for (int i = 0; i n||sy>n) continue; if(dis[sx] 阅读全文
posted @ 2014-03-10 19:38 fripSide 阅读(178) 评论(0) 推荐(0)
 
 

2014年3月9日

DP重新学
摘要: 白书上的DP讲义:一二DAG上的dp不要好高骛远去学这种高端东西,学了也写不对,剩下的几天把基本的dp和搜索搞下,就圆满了。不要再学新算法了,去九度把现有的算法写个痛。学了数位DP和记忆搜索,今天遇到一道标准的水题,搞了三小时还没搞出来真是讽刺啊:座位问题分析:1.在任何时候,一个女生的左边或者右边至少有一个女生,这就是说若只有1个人,则这个人必须为男生。(竟然一直没意识到这点,我能说我要是看明白了这一行,就能ac吗?)2.有n个人的排列,则应该从第n个人开始往第一个人推。这样思路就比较明确:不用去管第一个人究竟是男生还是女生,只用根据第n个人的性别,往前推。第n个人可以是男生也可以是女生:总 阅读全文
posted @ 2014-03-09 23:49 fripSide 阅读(313) 评论(0) 推荐(0)
 
 

2014年3月8日

Tarjan算法求有向图的强连通分量
摘要: 算法描述tarjan算法思想:从一个点开始,进行深度优先遍历,同时记录到达该点的时间(dfn记录到达i点的时间),和该点能直接或间接到达的点中的最早的时间(low[i]记录这个值,其中low的初始值等于dfn)。如图: 假设我们从1开始DFS,那么到达1的时间为1,到达2的时间为2,到达3的时间为3。同时,点1能直接或间接到达的点中,最小时间为1,点2能通过3间接到达点1,所以点2可到达最早的点时间为1,点3可以直接到达点1,故点3到达的最早的点的时间为1。)。对于每一个没有被遍历到的点A,如果从当前点有一条到未遍历点A的有向边,则遍历到A,同时将点A入栈,时间戳+1并用dfn[a]记录到达. 阅读全文
posted @ 2014-03-08 13:18 fripSide 阅读(3168) 评论(0) 推荐(0)
 
 

2014年2月27日

数位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 阅读(303) 评论(0) 推荐(0)
 
 

2014年2月25日

常见题型快速回顾
摘要: 待完成的任务: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 阅读(245) 评论(0) 推荐(0)
 
 

2014年2月22日

动态规划——初步
摘要: 练习题集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 阅读(152) 评论(0) 推荐(0)
 
 

2014年2月20日

刷题最佳代码风格
摘要: 由于算法题一般都有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 阅读(669) 评论(0) 推荐(0)
 
 
上一页 1 2 3 4 5 6 7 下一页

公告


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