青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

oyjpArt ACM/ICPC算法程序設計空間

// I am new in programming, welcome to my blog
I am oyjpart(alpc12, 四城)
posts - 224, comments - 694, trackbacks - 0, articles - 6

SRM387

Posted on 2008-01-10 17:23 oyjpart 閱讀(1026) 評論(0)  編輯 收藏 引用 所屬分類: ACM/ICPC或其他比賽

同SRM386,再度只做了第一題。。RATING保持不變。。算了,我就是弱。

第一題其實相當于把非法的行刪掉并且保持列為1就可以了(去掉一行joker)
我代碼寫的慢啊。。又是低分。。

第二題是個DP,本來是不很難想的,感覺還是時間太緊,有點緊張了。。
小小菜鳥再度100多分收場。。    

   public class Node implements Comparable { 
        public int x, y;

        public int compareTo(Object o) {
            Node no = (Node) o;
            if (this.x == no.x)
                return this.y - no.y;
            return this.x - no.x;
        }

        public Node(int x, int y) {
            this.x = x;
            this.y = y;
        }
    }

    public int numberOfSubsets(int[] start, int[] finish) {
        int n = start.length;
        Node[] A = new Node[n+2];
        int[] dp = new int[n+2];
        for (int i = 0; i < n; ++i) {
            A[i] = new Node(start[i], finish[i]);
        }
        A[n++] = new Node(1000, 1000);
        A[n++] = new Node(0, 0);
        Arrays.sort(A);
        Arrays.fill(dp, 0);
        dp[0] = 1;
        int i, j, k;
        for (i = 1; i < n; ++i) {
            for (j = 0; j < i; ++j) {
                if (!(A[i].x <= A[j].y && A[i].y >= A[j].x)) {
                    boolean ok = true;
                    for (k = j + 1; k < i; ++k) {
                        if (!(A[k].x <= A[i].y && A[k].y >= A[i].x)
                                && !(A[k].x <= A[j].y && A[k].y >= A[j].x)) {
                            ok = false;
                        }
                    }
                    if (ok) 
                        dp[i] += dp[j];
                }
            }
        }

        return dp[n-1];
    }

Analysis提供了一種O(nlogn)的方法,不難,有興趣的可以看看。

There are several approaches to this problem. Most of them use dynamic programming, but some optimized brute-force solutions may also pass system test. Here will be explained an O(n^2) algorithm and it can be relatively easily modified to have O(n * lg(n)) complexity, where n is the number of intervals.

First of all, let's sort intervals by their finish points. Then we'll define two functions, partial(x) and total(x). The total(x) returns the number of valid subsets of the set formed by first x + 1 intervals. The partial(x) returns the number of valid subsets, which contains x-th interval, of the set formed by the first x + 1 intervals. The solution would be total(n), where n is the number of intervals. Now, let's see how to calculate each of those two functions.

logN來自二分查找i前面的最后一個不相交的線段。

第三題也不是很難,但是,比如說我這種第二題都沒出的人就不用說了。。
#pragma warning ( disable : 4786 )

#include <vector>
#include <list>
#include <map>
#include <set>
#include <deque>
#include <stack>
#include <bitset>
#include <queue>
#include <algorithm>
#include <functional>
#include <numeric>
#include <utility>
#include <sstream>
#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <ctime>

using namespace std;
#define sz(x) ((int)(x).size())
#define Max(a, b) ((a) > (b) ? (a) : (b))
#define Min(a, b) ((a) < (b) ? (a) : (b))
#define two(x) (1<<(x))
#define contains(S, x) (((S)&two(x)) != 0)
typedef long long LL;
const int MAXINT = 1000000000;
const double INF = 10e300;
const double EPS = 1e-7;

inline int dblcmp(double a, double b) { if(fabs(a-b) < EPS) return 0; if(a < b) return -1;  return 1; }  
inline int bitcnt(int x) { int cnt = 0; while(x != 0) { cnt++; x &= (x-1); } return cnt; }
template<typename T> string toString(const T& s) { ostringstream os; os << s; return s.str();}

const int MOD = 1000000007;

LL P[2600];
LL power(LL a, LL b) { //actually returns a integer in [0, MOD)
 if(b == 0) return 1;
 if(b % 2 == 0) {
  LL t = power(a, b>>1);
  return t*t%MOD;
 }
 else
  return a%MOD*power(a, b-1)%MOD;
}

LL cal(int a0, LL q, LL times) {
 if(times == 0) return 0;
 LL t = cal(a0, q, times>>1);
 t *= (1+power(q, times>>1));
 t %= MOD;
 if(!(times & 1)) return t;
 return (t*q+a0)%MOD;
}

class StrangeArray
{
public:
 int calculateSum(vector <int> A, vector <int> B, string sN)
 {
  LL N;
  sscanf(sN.c_str(), "%lld", &N);
  int i, cycle = sz(A)*sz(B);
  for(i = 0; i < cycle; ++i) {
   P[i] = power(A[i%sz(A)], B[i%sz(B)] + i/sz(B));
  }

  LL ans = 0;
  for(i = 0; i < cycle; ++i) {
   LL times = (N-i-1+cycle)/cycle;
   LL q = power(A[i%sz(A)], sz(A));
   ans += cal(P[i], q, times);
   ans %= MOD;
  }
  return (int)ans;
 }
 
 
};

 

// Powered by FileEdit
// Powered by TZTester 1.01 [25-Feb-2003]
// Powered by CodeProcessor

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            看片网站欧美日韩| 欧美精品久久久久久久免费观看| 国产精品高潮视频| 亚洲午夜精品一区二区三区他趣| 亚洲精品国产精品久久清纯直播| 欧美成年人视频网站| 99在线视频精品| 夜夜嗨av色一区二区不卡| 国产精品久久久久9999吃药| 午夜精品国产更新| 亚洲一区二区在线免费观看视频| 日韩亚洲欧美在线观看| 国产精品老牛| 久久免费精品视频| 夜夜嗨av一区二区三区| 国产精品午夜视频| 久久亚洲视频| 欧美日韩国产影片| 欧美一区二区视频网站| 久久久久一区二区三区| 亚洲美女视频网| 亚洲综合二区| 亚洲国产精品一区制服丝袜| 亚洲一二三区在线| 午夜影院日韩| 日韩一级视频免费观看在线| 一区二区三区高清不卡| 韩国三级在线一区| 亚洲日本欧美在线| 国产日韩欧美一区二区三区四区| 欧美国产日韩二区| 国产精品一区=区| 亚洲电影免费观看高清完整版在线观看 | 久久久久久久久久久成人| 久久精品五月婷婷| 亚洲一本视频| 蜜桃久久精品乱码一区二区| 午夜精品福利一区二区蜜股av| 久久久精品国产免费观看同学| 夜夜精品视频| 蜜桃av噜噜一区| 久久精品国产91精品亚洲| 欧美精品成人| 欧美大片网址| 国产综合色在线| 亚洲视频在线一区| 日韩视频三区| 免费观看一区| 久久婷婷色综合| 国产欧美日韩亚洲| 99pao成人国产永久免费视频| 亚洲国产精品黑人久久久| 亚洲欧美综合精品久久成人| 国产精品影片在线观看| 亚洲精品美女| 最新国产成人在线观看| 久久午夜av| 开元免费观看欧美电视剧网站| 国产精品永久免费观看| 99视频精品全部免费在线| 亚洲精品一区二区三区不| 久久综合久久综合久久| 久久中文字幕导航| 激情婷婷久久| 亚洲国产精品v| 在线观看视频一区| 久久久蜜桃一区二区人| 另类成人小视频在线| 国产一区二区精品在线观看| 午夜老司机精品| 久久九九久久九九| 黄色另类av| 久久久久五月天| 欧美aa国产视频| 亚洲激情在线视频| 欧美国产精品一区| 亚洲精品视频免费| 亚洲性感美女99在线| 欧美三级乱码| 亚洲男女自偷自拍图片另类| 欧美一区免费视频| 国模精品一区二区三区| 久久av二区| 欧美激情小视频| 99视频+国产日韩欧美| 国产精品电影网站| 香蕉视频成人在线观看| 美女黄毛**国产精品啪啪| 在线看片第一页欧美| 你懂的国产精品永久在线| 亚洲狼人综合| 久久爱www.| 亚洲国产天堂久久综合网| 欧美日韩国产成人在线免费 | 久久噜噜亚洲综合| 在线播放日韩| 欧美日韩国内| 小黄鸭视频精品导航| 欧美电影美腿模特1979在线看| 亚洲美女视频在线观看| 国产精品久久久久久久浪潮网站 | 99热精品在线观看| 久久精品青青大伊人av| 亚洲黄色毛片| 国产精品永久在线| 欧美成人日本| 欧美一区二区三区四区高清| 亚洲国产天堂久久综合| 欧美在线视频观看| av成人免费在线| 精品成人国产| 国产精品xxxav免费视频| 久久久久久色| 亚洲一区二区在线观看视频| 欧美黄色小视频| 欧美一区二区三区免费观看| 91久久精品日日躁夜夜躁国产| 国产伦精品一区二区三区| 欧美大片91| 久久久久国产精品厨房| 国产日韩欧美一区二区三区在线观看| 国产伦精品一区二区三区在线观看| 午夜欧美大尺度福利影院在线看| 欧美激情在线狂野欧美精品| 欧美在线免费观看视频| 99在线精品免费视频九九视| 一区免费观看| 国产精品一区二区久久国产| 欧美日韩国产经典色站一区二区三区| 久久久www成人免费精品| 亚洲午夜三级在线| 日韩亚洲视频| 亚洲三级免费| 亚洲国产精品传媒在线观看| 免费看精品久久片| 久久久777| 久久久国产一区二区| 一区二区三区偷拍| 9久草视频在线视频精品| 亚洲欧洲综合| 亚洲欧洲日本mm| 亚洲精品国产日韩| 最新69国产成人精品视频免费| 韩国av一区二区三区| 韩日精品视频一区| 黄色亚洲在线| 1024精品一区二区三区| 极品尤物av久久免费看| 精品91久久久久| 一区二区三区在线视频播放 | 麻豆成人在线| 蜜臀久久久99精品久久久久久| 久久久一本精品99久久精品66| 久久久久欧美| 久久综合色播五月| 欧美国产日本在线| 欧美日韩一区二区三区四区在线观看| 欧美日韩国产在线观看| 国产精品va在线| 国产精品一区二区久久久| 国产欧美日韩一区二区三区| 国产一区二区三区黄视频| 狠久久av成人天堂| 亚洲狠狠婷婷| 亚洲图片欧美日产| 欧美一级理论片| 久久久久久久999精品视频| 免费成人毛片| 日韩午夜在线播放| 午夜久久美女| 久色婷婷小香蕉久久| 欧美日韩国产专区| 国产无遮挡一区二区三区毛片日本| 今天的高清视频免费播放成人| 91久久在线观看| 午夜日韩在线| 欧美福利视频在线观看| 一本久道综合久久精品| 久久se精品一区精品二区| 蜜臀久久久99精品久久久久久| 欧美性大战久久久久久久蜜臀| 国外成人在线| 亚洲一区二区三区成人在线视频精品 | 欧美日韩一区二区三区在线视频| 国产精品亚洲欧美| 亚洲激情在线播放| 欧美一级一区| 91久久在线播放| 欧美一区二区三区在线播放| 欧美激情中文字幕在线| 国产婷婷色综合av蜜臀av| 日韩图片一区| 久久久久国产精品www| 亚洲免费av观看| 噜噜噜噜噜久久久久久91| 国产精品视频自拍| 99精品国产在热久久下载| 久久亚洲不卡| 亚洲欧美日韩在线播放| 欧美日韩精品免费在线观看视频|