The Fourth Dimension Space

枯叶北风寒,忽然年以残,念往昔,语默心酸。二十光阴无一物,韶光贱,寐难安; 不畏形影单,道途阻且慢,哪曲折,如渡飞湍。斩浪劈波酬壮志,同把酒,共言欢! -如梦令

#

HDOJ 1698 Just a Hook 线段树

     摘要: 题目的意思是给你一个数组,大小是N,初始的时候,a[1-N]均为1,然后有Q个操作,每次操作修改某个区间中的值,求最后整个区间1-N的和。线段树解决 #include<iostream>using namespace std;int const maxn=100100;struct node{   &nb...  阅读全文

posted @ 2010-07-17 11:42 abilitytao 阅读(244) | 评论 (0)编辑 收藏

暑假集训第二次练习赛小结

            先我对今天的A题表示深深的无语,居然是直接暴力,有点技术含量行不行啊。。。打一张10^7次方的素数表,居然可以过。。。
            C题其实很简单,数据中给了个10^6次方的数据,很明显是用来hash的。。。
            其他的题基本没看,卡了第一题后心态不是太好了。。。恩 听说H是个简单题来着。。。看来我还缺乏些判断简单题的眼力。。。
            老实说我觉得今天的题出的不好,当然我不能直接那么说。不过要继续努力哈,只是结对前最后一次比赛居然这么囧。

posted @ 2010-07-15 20:37 abilitytao 阅读(200) | 评论 (0)编辑 收藏

NOJ 1177 跳马 SG函数,博弈

先贴个代码,博弈问题还要继续深究,special thanks to thinkking!
原题:


Input


Output


SampleInput

2
5 2
2 2
2 3
5 2
3 3
2 3

SampleOutput

Case 1: Alice
Case 2: Bob

#include<iostream>
#include
<cmath>
using namespace std;

int n,m;
int dir[2][2]={{-1,-2},{-2,-1}};

bool god(int x,int y)
{
    
if(x<1||x>500||y<1||y>500)
        
return false;
    
return true;
}

int const maxn=510;
int SG[maxn][maxn];

struct node
{
    
int x,y;
}
q[20020];

int v[3];
int main()
{

    
int ca;
    scanf(
"%d",&ca);
    
int cn=0;
    
for(int i=1;i<=500;i++)
    
{
        
for(int j=1;j<=500;j++)
        
{
            memset(v,
0,sizeof(v));
            
for(int k=0;k<2;k++)
            
{

                
int nx=i+dir[k][0];
                
int ny=j+dir[k][1];
                
if(god(nx,ny))
                
{
                    v[SG[nx][ny]]
=1;
                }

            }

            
for(int k=0;k<=2;k++)
            
{
                
if(v[k]==0)
                
{
                    SG[i][j]
=k;
                    
break;
                }

            }


        }

    }

    
while(ca--)
    
{
        cn
++;
        scanf(
"%d%d",&n,&m);
        
for(int i=1;i<=m;i++)
            scanf(
"%d%d",&q[i].x,&q[i].y);
        
        
int ans=0;
        
for(int i=1;i<=m;i++)
        
{
            ans
^=SG[q[i].x][q[i].y];
        }

        
if(ans)
            printf(
"Case %d: Alice\n",cn);
        
else
            printf(
"Case %d: Bob\n",cn);
    }

    
return 0;
}

posted @ 2010-07-13 20:48 abilitytao 阅读(1458) | 评论 (3)编辑 收藏

暑假专题训练一::搜索 POJ 1077 八数码 ——再做八数码 双向广度优先搜索

     摘要: 被称为不做人生不完整的题,昨天用A*过了,晚上请教了yayamao大神双向广搜的精髓,今天决定用双广实现一下。从时间效率来看,用双广实现似乎比A*略微慢一点,不过从应用的广度来看,双向广度优先搜索显然比A*用得要广,所以学会双广是很有意义的。总结一下几种搜索算法吧BFSDFS一般都是这两种DBFS在一个节点扩展出来的子节点特别多时使用A*在特殊的问题上面使用,范围窄IDA*,基本用不着,不学了。。...  阅读全文

posted @ 2010-07-11 17:30 abilitytao 阅读(1844) | 评论 (0)编辑 收藏

暑假集训专题训练1::搜索 行列转换问题 初识双向广搜

     摘要: 从两个方向分别扩展,效率果然好很多^_^总算对双广有点了解了,再做点题应该就会熟悉了吧 #include<iostream>#include<algorithm>#include<map>#include<queue>using namespace std;bool can;int m,n,ans;struc...  阅读全文

posted @ 2010-07-10 22:42 abilitytao 阅读(464) | 评论 (1)编辑 收藏

暑假专题训练一 搜索::POJ 1077 八数码 ——初识A*算法

     摘要: 特来YM+学习A*算法,A*果然快啊,在pku上曾经写过一个BFS,300MS,去航电直优化的空间接TLE.用A*算法北大16MS,航电750MS,效率很高啊。当然我的A*写得还不是特别好,航电上有16MS AC那道题的,看来这个A*还有优化的空间。A*采用启发式搜索的思维方式很值得借鉴!F=G+H #include<iostream>#include<cmath>#in...  阅读全文

posted @ 2010-07-10 15:14 abilitytao 阅读(2183) | 评论 (0)编辑 收藏

暑假第一次大练习赛总结

     摘要:        难度感觉还好吧,最后一题那么简单居然没过有点后悔,而且做RSA浪费了大量时间导致后来没有时间看别的题,这一点要注意下。不然有很多能过的题过不了,这就比较遗憾了。A. 剩下的士兵 就是对n不断地除以m,直到比m小为止,同时记录除了几次,然后将剩下的数字乘以mN次即可得到答案。#include<ios...  阅读全文

posted @ 2010-07-08 22:29 abilitytao 阅读(1664) | 评论 (3)编辑 收藏

TC SRM 475 DIV2

     摘要: 第一题 水题 秒掉 #include<iostream>#include<algorithm>#include<cstring>#include<string>#include<vector>using namespace std;int f(vector <string> names,stri...  阅读全文

posted @ 2010-07-07 01:33 abilitytao 阅读(1020) | 评论 (2)编辑 收藏

呐喊

一点浩然气,千里快哉风,小小的感染算什么,想想当年脚差点断了都不怕,挺一挺,人定胜天!

posted @ 2010-07-06 14:54 abilitytao 阅读(177) | 评论 (0)编辑 收藏

暑假训练计划

最小割
线段树+扫描线(矩形面积并)
高级线段树(航电A题)
菲薄拉齐数列logn解法 非矩阵乘法
dinic模板
多边形切割 福大月赛题


复习:后缀数组,RMQ, 欧拉回路,哈密顿回路...

posted @ 2010-07-05 17:28 abilitytao 阅读(261) | 评论 (0)编辑 收藏

仅列出标题
共42页: First 8 9 10 11 12 13 14 15 16 Last