
杂七杂八
logic_nut
这个作者很懒,什么都没留下…
展开
-
pku 2492 A Bug's Life(并查集扩展)
pku 1182的简单版,也是用树形结构来存储相对关系。 对于有些情况,这道题可以在没有输入所有数据前得到答案,我就是因为提前break了,结果一直WA。对于这种多CASE的问题,得把每个CASE的输入好好读完再去处理下面的。 #include using namespace std;int parent[2002];bool relation[2002];voi原创 2009-07-19 23:13:00 · 885 阅读 · 0 评论 -
Interview Tips
之前面过微软和谷歌 ,效果都不是特别好,慢慢写点体会希望能对自己将来的面试有帮助。1.认真准备,不要过于自信,世界上比自己强的人太多。2.不要着急,仔细读题,安静想题。在算法问题上,应该面试任何公司都不畏惧。3.清楚、慢慢、大声讲话。4.项目介绍虽然鸡肋,但讲不好影响也很大,需要好好准备。5.为每家公司准备问题。原创 2013-02-02 14:22:10 · 567 阅读 · 1 评论 -
String的Split()
这个问题一直都有需求,但一直都没找到特别趁手的工具。先就凑合着用下面这个吧,缺点是分界符号只能是单个char。#include vector &Split(const string &s, const char delim, std::vector &elems) { stringstream ss(s); string item; while(getline(ss, i原创 2013-01-31 03:41:10 · 689 阅读 · 0 评论 -
Topcoder SRM 566 countJourneys
假设一个环形地图,上面有numCities个城市,一个企鹅在城市间移动,第k天可以往左或往右移动k步。给定daysPassed天时间,问在daysPassed天后回到起点的方法有多少? Problem Statement可以用动态规划,记录每一次移动后在每一个位置的方法数。但这里因为daysPassed的取值可以到10^18,所以不能直接枚举每一天。因为每一天的实际移动是(k%numCitie原创 2013-01-15 12:23:34 · 666 阅读 · 0 评论 -
pku 1655 Balancing Act (树状)
题目:对于一棵树,删除其中一个节点后,可以得到若干子树,这些子树的规模的最大值叫balance。给定一棵树,问拆除哪个节点,可以得到最小的balance。解法:预处理,对给定的树,任意选择一个节点作为根节点(我选择的1号节点),DFS整棵树,得到每个节点的子节点个数。枚举原创 2011-09-26 12:17:37 · 601 阅读 · 0 评论 -
Earth Sci 候选勋章
<br /><br /> <br /><br /> <br />原创 2011-04-30 16:04:00 · 668 阅读 · 0 评论 -
ASP.NET学习步骤(转)
首先,你需要具备OO基础,如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一 掌握一门.NET面向对象语言,C#或VB.NET我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去! 第二 对.NET Framework类库有一定的了解可以通过开发Windows For转载 2010-01-19 13:54:00 · 521 阅读 · 0 评论 -
google code jam 2008 Train Timetable(模拟)
把到达时间和出发时间存到节点里面,按时间排序。有车到达A站,就left_A++。有车从A出发,如果left_A>0,则left_A--,否则cnt_A++。至于turnaround time ,则直接加到火车的到达时间上面,相当与晚点好了。#include using namespace std;const int maxn=105;struct node{ int tim原创 2009-09-02 17:18:00 · 708 阅读 · 0 评论 -
poj pku图论、网络流入门题总结、汇总
POJ 2449 Remmarguts Date(中等)http://acm.pku.edu.cn/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144该题亦放在搜索推荐题中转载 2009-08-27 21:50:00 · 2832 阅读 · 0 评论 -
google code jam 2008 Saving the Universe
我是用DP做的。因为可以看到所有人的代码,所以把第一名的代码下载来看了看,他的也是DP。后来看到官方的解答,其实用贪心+hash可以达到O(n)的效率。 rem的代码#include #include #include #include #include #include #include #include #include #include原创 2009-08-22 11:07:00 · 729 阅读 · 0 评论 -
pku 3714 Raid(一个编译错误纠结了好久)
题意:给定两个点集A和B,求最近点对,要求点是处在不同的点集。用平面最近点对的模板就可以了,只要修改下Distance函数,当两个点是同一个集合中的时候返回无限远。不过我就是纠结在Distance函数上了,我一开始用的distance做函数名,编译死活通过不了,后来换成Distance后就没问题了。#include "math.h"#include "float.h"#incl原创 2009-08-19 19:23:00 · 797 阅读 · 0 评论 -
pku 2115 C Looooops(解模线性方程)
__int64 t=1本来t有64位,k可以取(0-62),但这里因为编译器会把常量1当成int处理,所以当k>30就会出现问题。正确的写法是 __int64 t=(__int64)1#include using namespace std;__int64 exGcd(__int64 a,__int64 b,__int64& x,__int64& y){ if(b==0原创 2009-08-13 16:39:00 · 771 阅读 · 0 评论 -
计算机图形学中的拉格朗日插值算法
大家都知道,通过两个点的一次曲线,有且只有一条,通过三个点的二次曲线,有且仅有一条。概括来讲,通过n+1个点的n次曲线,有且仅有一条。那么给定n+1个点,如何确定这个n次方程的n+1个系数呢?即已知这n+1个点的坐标,求x到y的映射。因为这里有n+1个未知数,n+1个等式,我们可以利用矩阵解方程来求解这些系数,但这计算量很大。拉格朗日提出了一个方法,不需要实现求解任何系数即可直接带入运算来求原创 2009-06-04 23:20:00 · 1995 阅读 · 1 评论 -
pku 3867 Paths on a Grid(组合数学)
题目本身很简单,就是求C(n,k)。因为数比较大,所以分母(n-i+1)的乘和分子(i)的除要同时做。如果是用循环,因为可能出现小数,需要用double类型,用递归则可以避免这个问题。#include using namespace std;__int64 com(__int64 c,__int64 k){ return k>0?com(c-1,k-1)*c/k:1;}原创 2009-08-11 19:20:00 · 532 阅读 · 0 评论 -
经典POJ题目
POJ上一些题目在http://162.105.81.202/course/problemSolving/ 可以找到解题报告。《算法艺术与信息学竞赛》的习题提示在网上可搜到一.动态规划参考资料:刘汝佳《算法艺术与信息学竞赛》《算法导论》推荐题目:http://acm.pku.edu.cn/JudgeOnline/problem?id=1141转载 2009-08-10 22:40:00 · 2871 阅读 · 0 评论 -
pku 1068 Parencodings(模拟)
据说可以推出规律,得到O(n)的方法。不过我就懒得去推了,当成模拟题写的。#include using namespace std;char parentheses[41];int main(){ int t,n; int last,now; scanf("%d",&t); while(t--) { scanf("%d",&n); last=原创 2009-07-30 11:23:00 · 582 阅读 · 0 评论 -
我是如何得到Twitter的实习机会
一点点过程 发表在这里https://www.hackerrank.com/blog/jinfu原创 2013-04-19 09:50:57 · 994 阅读 · 0 评论