- 博客(161)
- 资源 (5)
- 收藏
- 关注
原创 synchronized关键字
synchronized关键字public class TestSynchronized { /** * 同步方法 */ public static synchronized void staticMethod() { int i = 3; while (i-- > 0) { System.out.printl
2016-05-31 15:35:12
450
原创 设计模式:行为型(2)
设计模式:行为型(2)模式介绍Observer 观察者也叫订阅-发布,观察者订阅主题对象,对象发布后通知所有订阅者。比如很多人订阅报纸,报纸出新期刊后发给所有订阅的人。State 状态不同状态对象进行不同的处理。比如电灯处于开或关的状态,按一下开关导致不同结果。 Strategy 策略某个功能有多种算法或策略,我们可以根据环境或条件进行不同选择Template Method 模板方法抽象某个操作的
2016-05-27 00:02:55
418
原创 设计模式:行为型(1)
设计模式:行为型(1)模式介绍Chain of Responsibility 职责链处理部分事情,处理不了交给下一个处理。可以在给对象指定下一个调用者,也可以放到list中顺序调用。Command 命令回调函数替代品,执行命令替代执行方法。比如遥控器,有开机命令, 关机命令,换台命令。Interpreter 解释器给定文法表示,解析语法。Iterator 迭代器封装内部实现,只提供顺序方法方法。比如
2016-05-26 23:35:23
379
原创 设计模式:结构型
设计模式:结构型模式介绍Adapter 适配器两个已有系统的对接Bridge 桥接多个维度变化,互不影响。【不同人】【不同车】【不同路】Composite 组合树-叶 的层次结构,比如菜单 和 菜单项 Decorator 装饰扩展部分功能,比如jquery的各个插件都只扩展部分。Facade 外观者集成多个接口,为子系统提供简单接口。Flyweight 享元共用多个相同对象,比如状态男或女,只需要
2016-05-26 23:12:10
402
原创 设计模式:创建型
设计模式:创建型模式介绍Abstract Factory 抽象工厂管理子产品族。比如某个品牌的某个产品线 抽象工厂是工厂方法的升级版本,工厂类从实现变成接口。从一级产品结构变成多级产品结构Builder 生成器管理产品组合。比如汽车由多个汽车部件组成;电脑由CPU、显卡,硬盘等组成。Factory Method 工厂方法管理多个产品。简单工厂方法只需要一个工厂Prototype 原型实现克隆接口,
2016-05-26 22:47:40
444
原创 hdu 4906 Our happy ending 状态压缩dp 较难
#include#include#includeusing namespace std;typedef long long LL;const int N=1<<20,MOD=1e9+7;int dp[N+10];//状态s表示能产生的 和的集合(1-K) 的情况数int main(){ int tt; cin>>tt; while(tt--){ in
2014-10-20 21:47:31
555
原创 hdu 4902 Nice boat 线段树
如果一个xiand#include#include#includeusing namespace std;const int N=100005;int tree[N*4];//该线段的值全为x,-1表示不统一int gcd(int a,int b){ return b==0?a:gcd(b,a%b);}#define lson l,m,rt<<1#define r
2014-10-20 19:56:55
536
原创 BestCoder Round #14 hdu 5066 - 5069
A#includeint main(){ int a,b; while(~scanf("%d %d",&a,&b)){ printf("%d\n",a+a-b); } return 0;}B
2014-10-20 16:16:41
724
原创 CF #274 (Div. 2) 479B - 479D
#include#include#include#includeusing namespace std;struct Node{ int a,b;}t[5002];int cmp(Node a,Node b){ if(a.a==b.a) return a.b<b.b;//my wa point return a.a<b.a;}int n;int
2014-10-20 15:54:47
544
原创 hdu 5067 Harry And Dig Machine
#include #include#include#includeusing namespace std;typedef long long LL;#define inf 0x3f3f3f3fconst int N=11;int x[N],y[N];int mp[N][N];int dp[1<<N][N];int dis(int i,int j){ return a
2014-10-18 22:01:11
614
原创 二人零和博弈
博弈论方法1:dp,记忆化搜索方法2:结论——异或和为0为P-position关于Nim游戏结论的证明:根据定义,证明一种判断position的性质的方法的正确性,只需证明三个命题: 1、这个判断将所有最终 position判为P-position;2、根据这个判断被判为N-position的局面一定可以移动到某个P-position;3、根据这个判断被
2014-09-18 15:53:18
2843
1
原创 hdu 5007 Post Robot
#include#include#includeusing namespace std;char ans[2][20]={"MAI MAI MAI!","SONY DAFA IS GOOD!"};string str;int main(){ while(cin>>str){ int len=str.length(); for(int i=0;i
2014-09-18 13:45:42
576
原创 BNU 34982 Beautiful Garden
#include#include#include#includeusing namespace std;const int N=42;#define rep(i,b,e) for(int i=b;i<e;i++)typedef long long LL;int n;LL a[N];map mp;int solve(){ if(n<=2) return 0; s
2014-09-17 13:43:00
557
原创 BNU 34988 Happy Reversal
#include#include#include#include#includeusing namespace std;typedef long long LL;const LL inf=0x3fffffffffffffff;char str[62];vector a;LL trans(char str[]){//高位-低位 LL ret=0; for(int
2014-09-17 13:37:46
517
原创 hdu 4965 Fast Matrix Calculation 矩阵乘法
#include#include#include#include#include#include#includeusing namespace std;typedef long long LL;#define inf 0x3f3f3f3f#define mem(a,x) memset(a,x,sizeof a);const int MAXN=1002,N=7;int n,k
2014-08-19 17:58:02
580
原创 zoj 1654 Place the Robots 二分图匹配
/*题目:poj1654时间:2014-08-17标签:二分图匹配题意:给一个map '#'代表Wall 子弹不穿 '*'代表Grass 子弹穿 'o'代表Empty 子弹穿,放机器人 求最多能放几个机器人。http://blog.youkuaiyun.com/acdreamers/article/details/8654005*/#include#include#include#
2014-08-17 18:59:52
627
原创 linux实验 模块与设备驱动
(1)首先新建并编写了字符驱动设备chardev.c文件,文件代码如下:/** 创建一个字符设备(读写)*//* 必要的头文件,内核模块标准头文件 */#include#include /*内核工作*/#include/**/#include#include /*明确指定是模块*/#include/*对
2014-06-05 15:16:25
968
原创 linux 系统调用实验
大部分实验过程参考:网易的唧唧歪歪【一】、下载他用过的linux系统内核2.6.36【二】、解压内核将1中下载的文件解压缩, 在 /usr/src/目录下, 输入:tar -jxvf linux-2.6.36.tar.bz2解压出的文件夹名为:linux-2.6.36【三】、添加系统响应函数:修改 /usr/src/linux-2.6.36/ke
2014-06-01 17:17:34
2050
原创 2014 百度之星 资格赛 Labyrinth
由于#include#includeusing namespace std;const int N=102,inf=1e9;int n,m,a[N][N];int dp[N][N];//在i,j能获得的最大金币int sum[N][N];void solve(){ dp[1][1]=0; for(int j=1;j<m;j++){//列 for(int i=1;
2014-05-19 16:43:46
565
原创 2014 百度之星 资格赛 Xor Sum hdu 4825
d#include #include #includestruct node{ int cnt; node *childs[2]; node(){ cnt=0; for(int i=0;i<2;i++) childs[i]=NULL; } }; node *rt=new node(); node *cur,*next;
2014-05-19 16:33:35
746
原创 Linux 内核定时器
hello.c文件#include#include#include#include#includestruct timer_list mytimer;//a timervoid mytimer_ok(unsigned long arg){ printk("Mytimer is ok\n"); printk("receive data form timer:%d\n",arg
2014-05-04 15:43:29
522
原创 CF 427C Checkposts Tarjan
#include#include#includeusing namespace std;const int N=100005,MOD=1e9+7;int cost[N];int Stack[N],top=0;bool inStack[N];int DFN[N],Low[N],Index=0;vector Edge[N];long long sum=0,ans=1;voi
2014-05-03 10:23:25
689
原创 方(芳)格(哥)取数
方(芳)格(哥)取数#include#includeusing namespace std;int main(){ int T,N,M,K; cin>>T; while(T--){ cin>>N>>M>>K; int tot=N+M,ret; int l=1,r=M,u=1,b=N; int x=1,y=M,goal=0; while(tot-
2014-04-27 11:17:24
586
原创 夜空中最亮的星
#include#include#include#includeusing namespace std;#define PI 3.14159265358struct node{ double x,y,val;}star[1002];//priority_queue q;double LineAngle(double x1,double y1,double x2,double
2014-04-27 11:05:26
605
原创 数细菌 提醒自己注意细节
数细菌#include#include#includeusing namespace std;typedef long long LL;LL a,b,n;int main(){ int tt; cin>>tt; while(tt--){ cin>>a>>b>>n; LL t1=(b-a)/2; LL t2=a-t1;//(2*a-b)/2错误比如1 3 do
2014-04-27 10:43:45
561
原创 CF 424D Biathlon Track
出来#include#includeusing namespace std;const int N=302;int n,m,T,tp,tu,td;int mp[N][N];int up[N][N],down[N][N],l[N][N],r[N][N];void init(){ //左到右 for(int i=1;i<=n;i++){ for(i
2014-04-25 18:10:03
733
原创 CF 424C Magic Formulas
#include#includeusing namespace std;int num[1000005];int main(){ int n,ans=0,tt; cin>>n; for(int i=1;i<=n;i++){ int t=n/i; int p=n%i; if(t&1){ //fo
2014-04-25 17:18:29
597
原创 zoj 3781 Paint the Grid Reloaded
#include#include#include#includeusing namespace std;const int N=42;char mp[N][N];int mem[N][N],visit[N][N];int dir[4][2]={1,0,-1,0,0,1,0,-1};int tt,n,m;struct Point{ int x,y; Point(int _
2014-04-16 18:09:01
614
原创 zoj 3780 Paint the Grid Again
#include#include#includeusing namespace std;const int N=1502;int tt,n;char mp[N][N];bool col[N],row[N];bool check(){//是否全部完成 for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) if(mp[i][j]!='-
2014-04-16 12:11:14
764
原创 CF B. Mashmokh and ACM dp
#include#include#includeusing namespace std;typedef long long LL;const int MOD=1e9+7,N=2002;vector vec[N];LL dp[N][N];//长度为i,末尾为j的good数量int main(){ int n,k; cin>>n>>k; for(int i=1;i<=n;i+
2014-04-07 18:16:50
633
原创 选举问题 状态压缩
#include#include#includeusing namespace std;const int K=21;int bt[K+1],ans[K];int num[1<<K],w[1<<K];int main(){ bt[0]=1; for(int i=1;i<=K;i++) bt[i]=bt[i-1]*2; int tt,n,cases=0; cin>>tt;
2014-04-07 16:13:34
970
原创 CodeChef Cards, bags and coins (dp+组合+优化)
#include#include#includeusing namespace std;typedef long long LL;const int N=100001,MOD=(int)1e9+9,M=101;int a[N],val[M],tt,n,m,q;LL dp[2][M],add[M],p[N];LL Pow(LL a,LL cf){ LL rst=1; while
2014-04-07 13:33:55
895
原创 ZOJ 3770 Ranking System 模拟
#include#include#includeusing namespace std;struct node{ int id,time,s,loc;}p[2005];int cmp(node a,node b){ if(a.s!=b.s) return a.s>b.s; if(a.time!=b.time) return a.time<b.time; return
2014-04-06 16:59:52
1028
原创 ZOJ 3768 Continuous Login
#include#include#includeusing namespace std;const int N=15715;int sum[N],goal;void solve(int n){ int left=1,right=lower_bound(sum,sum+N,n)-sum,t; while(left<=right){//夹逼定理 t=sum[right]+sum
2014-04-06 16:57:17
978
原创 Chef -- Divide the Tangerine
#include#includeusing namespace std;const int N=502;int a[N*2];int main(){ int tt,n,k,p,l,r; scanf("%d",&tt); while(tt--){ scanf("%d%d%d",&n,&k,&p); int cnt=0; for(int i=0;i<k;i++){ s
2014-04-05 12:31:01
598
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人