放弃的blog
C++博客 | 首页 | 发新随笔 | 发新文章 | 联系 | 聚合 | 管理

SPOJ24(Small factorials)
      https://www.spoj.pl/problems/FCTRL2/
     2009-05-17 13:16:10  Xredman Small factorials accepted  0.43   219M   JAVA 
     大数处理,有JAVA真爽!
posted @ 2009-05-17 19:25 放弃的blog 阅读(174) | 评论 (0) | 编辑 收藏
 
SPOJ3370(Mergesort)
      http://www.spoj.pl/problems/MERGSORT/
      2009-05-17 12:55:06  Mergesort accepted  0.08   4.4M   C++
      此题出的太好的,巩固了一遍归并排序。不过有点点失误。

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

const int N = 100004;

typedef struct
{
    int key[N];
    int length;
}SqList;

void Merge(SqList &L, int low, int mid, int high)
{//int p,int q,int r
    int n1, n2;
    int i, j, k;

    //=========以下开辟二个辅助数组=========

    n1 = mid - low + 1;
    n2 = high - mid;
    int *Left = new int[n1 + 1], *Right= new int[n2 + 1];
    for(i = 0; i < n1; i++)
        Left[i] = L.key[low + i];
    for(i = 0;i < n2; i++)
        Right[i] = L.key[mid + i + 1];

    for(i = j = 0, k = low; k <= high; k++)
        if(i == n1)
        {
            while(k <= high)
                L.key[k++] = Right[j++];
            break;
        }
        else  if(j == n2)
        {
            while(k <= high)
                L.key[k++] = Left[i++];
            break;
        }
        else  if(Left[i] <= Right[j])
                L.key[k] = Left[i++];
             else
                L.key[k] = Right[j++];
}

void MergeSort(SqList &L, int l, int h)
{
    int low = l, high = h, mid;

    if(low < high)
    {
        mid = (low + high) / 2;
        MergeSort(L,low,mid);// the left 
        MergeSort(L,mid + 1, high);// the right
        Merge(L, low, mid, high);
    }
}

int main()
{
    SqList L;
    L.length = 0;
    
    while(scanf("%d", &L.key[++L.length]) != EOF)
        ;
    L.length--;
    MergeSort(L, 1, L.length);
    
    for(int i = 1; i <= L.length; i++)
        if(i != L.length)
            printf("%d ", L.key[i]);
        else
            printf("%d\n", L.key[i]);
    return 0;
}
posted @ 2009-05-17 19:02 放弃的blog 阅读(159) | 评论 (0) | 编辑 收藏
 
SPOJ1426( Is it a tree)
      https://www.spoj.pl/problems/PT07Y/
      2009-05-17 12:22:31   Is it a tree accepted  0.10   2.9M   C++
      对于一个无向图而言,若其为一棵树,条件是无环且连通,可以这样判定:有n个结点的树必有n-1条边,且连通。
posted @ 2009-05-17 18:46 放弃的blog 阅读(160) | 评论 (0) | 编辑 收藏
 
ZOJ1395(Door man)

   2009-05-14 10:26:41     Accepted   1395   C++   0   184
   本题所求是从m点到0点是否存在欧拉通路或欧拉回路并且不须图连通。
   <1>欧拉通路 (欧拉迹)——通过图中每条边一次且仅一次,并且过每一顶点的通路。
      判定条件: G 有欧拉通路 G 连通, G 中只有两个奇度顶点(它们分别是欧拉通路的两个端点)。对于此题,只需保证m点和0点均为奇点即可。
   <2>欧拉回路 (欧拉闭迹)——通过图中每条边一次且仅一次,并且过每一顶点的回路。

      判定条件:G 有欧拉回路( G 为欧拉图) G 连通, G 中均为偶度顶点。
      对于此题,只需保证m是0即可。

posted @ 2009-05-14 10:57 放弃的blog 阅读(202) | 评论 (0) | 编辑 收藏
 
HDOJ2428(Stars)
   2009-05-13 16:53:20 Accepted 2428 31MS 264K 1174 B C++ 
   本题给出一系列点坐标,要求求出有其中4个点组成的正方形有几个。可以将n个坐标按x从小到大排序,可以方便地寻找到2个点是x坐标相等的,若得到的是(x1, y1), (x1, y2),可以查找是否存在(x1 + y2 - y1, y1),(x1 + y2 - y1, y2),若存在,则可以构成一个正方形.
posted @ 2009-05-13 20:48 放弃的blog 阅读(157) | 评论 (0) | 编辑 收藏
 
仅列出标题
共5页: 1 2 3 4 5 
随笔:21 文章:0 评论:2 引用:0
<2025年8月>
日一二三四五六
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

公告

常用链接

  • 我的随笔
  • 我的评论
  • 我参与的随笔

留言簿(1)

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  • bfs (rss)
  • dfs (rss)
  • dp (rss)
  • HDOJ(6) (rss)
  • POJ(3) (rss)
  • SPOJ(3) (rss)
  • ZOJ(6) (rss)
  • 并查集(2) (rss)
  • 大数(1) (rss)
  • 模拟(1) (rss)
  • 排序 (rss)
  • 其它OJ(1) (rss)
  • 数论(3) (rss)
  • 图论(3) (rss)
  • 杂题(6) (rss)
  • 资料(1) (rss)
  • 字符串(2) (rss)

随笔档案

  • 2009年6月 (1)
  • 2009年5月 (20)

我的链接

  • Xredman代码驿站
  • Xredman资料搜集站
  • 福娃免费空间

搜索

  •  

积分与排名

  • 积分 - 7490
  • 排名 - 1342

最新评论

  • 1. re: HDOJ1720(ACboy needs your help again!)
  • 评论内容较长,点击标题查看
  • --cfq
  • 2. re: POJ1657(Distance on Chessboard)
  • 评论内容较长,点击标题查看
  • --bsfdg

阅读排行榜

  • 1. 欧拉图与哈密尔顿图(2193)
  • 2. POJ2808(校门外的树)(587)
  • 3. POJ1657(Distance on Chessboard)(536)
  • 4. ZOJ1944(Tree Recovery)(471)
  • 5. HDOJ1116(Play on Words)(339)

评论排行榜

  • 1. HDOJ1720(ACboy needs your help again!)(1)
  • 2. POJ1657(Distance on Chessboard)(1)
  • 3. HDOJ1116(Play on Words)(0)
  • 4. POJ3461(Oulipo)(0)
  • 5. HDOJ1711(Number Sequence)(0)

Powered by: 博客园
模板提供:沪江博客
Copyright ©2025 放弃的blog