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

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 閱讀(1023) 評論(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精品国产自| 欧美国产一区二区在线观看| ●精品国产综合乱码久久久久| 久久人人爽人人| 国产亚洲综合在线| 久久亚洲一区二区三区四区| 亚洲精品影院在线观看| 日韩视频永久免费观看| 欧美日本高清视频| 篠田优中文在线播放第一区| 久久精品2019中文字幕| 伊伊综合在线| 欧美日韩岛国| 亚洲第一视频| 亚洲一区二区三区在线观看视频 | 欧美一区二区三区啪啪| 另类春色校园亚洲| 亚洲作爱视频| 国产日韩欧美电影在线观看| 免播放器亚洲一区| 亚洲一级二级在线| 欧美成人一区在线| 亚洲在线不卡| 亚洲缚视频在线观看| 欧美性大战久久久久| 久久精品一区二区三区四区| 亚洲精品一区中文| 久久资源在线| 亚洲一区二区三区三| 伊人婷婷久久| 国产精品久久久久77777| 久久久人成影片一区二区三区| 亚洲另类在线视频| 老鸭窝亚洲一区二区三区| 亚洲综合国产精品| 亚洲精品一区二区三区婷婷月 | 欧美制服丝袜| 99精品国产福利在线观看免费| 久久久久久色| 欧美亚洲网站| 日韩一区二区精品葵司在线| 黄色精品一区| 国产精品美女久久久免费| 欧美大片在线观看| 午夜精品久久久久久久| 日韩亚洲成人av在线| 激情成人中文字幕| 国产免费成人在线视频| 欧美婷婷在线| 欧美精品九九99久久| 久久久久久综合| 午夜精品久久久久久| 亚洲私人影院在线观看| 亚洲老司机av| 亚洲日本aⅴ片在线观看香蕉| 女主播福利一区| 久久夜色精品亚洲噜噜国产mv| 欧美在线不卡| 在线不卡视频| 激情欧美日韩| 黄色成人av网| 好看的日韩视频| 国产伦精品一区| 国产精品黄视频| 欧美午夜视频在线观看| 欧美日韩亚洲成人| 欧美日韩精品不卡| 欧美日韩视频在线| 欧美日韩影院| 国产精品成人va在线观看| 欧美图区在线视频| 国产精品乱码| 国产欧美视频在线观看| 国产欧美日本| 在线国产欧美| 亚洲黄色免费| 亚洲美女毛片| 亚洲网站啪啪| 欧美一区二区三区男人的天堂 | 免费成人毛片| 欧美电影电视剧在线观看| 亚洲大胆人体视频| 亚洲欧美日韩在线不卡| 欧美一区二区三区在线看| 欧美一区二区视频网站| 久久全球大尺度高清视频| 欧美xx视频| 亚洲三级毛片| 亚洲欧美精品在线观看| 欧美有码视频| 免费欧美日韩| 欧美深夜福利| 国产原创一区二区| 亚洲国产欧美日韩| 亚洲一区三区在线观看| 久久国产色av| 欧美激情久久久久久| 亚洲靠逼com| 性xx色xx综合久久久xx| 免费成人高清视频| 欧美三区在线观看| 国内综合精品午夜久久资源| 亚洲三级色网| 欧美亚洲三区| 亚洲国产91精品在线观看| 日韩午夜激情| 久久国产精品一区二区三区四区| 久久在线精品| 国产精品美女久久久免费| 亚洲第一毛片| 亚洲欧美日韩精品在线| 浪潮色综合久久天堂| 99人久久精品视频最新地址| 久久国产婷婷国产香蕉| 欧美深夜影院| 亚洲国产高清aⅴ视频| 亚洲在线视频一区| 欧美高清成人| 亚洲欧美日本精品| 欧美精品一区三区在线观看| 国产视频精品xxxx| 一区二区三区av| 玖玖综合伊人| 亚洲免费影视第一页| 欧美激情免费在线| 一区在线播放| 欧美一级一区| 一区二区三区国产| 欧美v亚洲v综合ⅴ国产v| 国产亚洲欧美激情| 亚洲自啪免费| 最新中文字幕亚洲| 久久综合色8888| 国产亚洲一级高清| 西西裸体人体做爰大胆久久久| 亚洲承认在线| 久久香蕉精品| 国产综合激情| 欧美一区免费视频| 一区二区三区鲁丝不卡| 欧美精品v日韩精品v国产精品| 亚洲第一精品夜夜躁人人躁| 久久精选视频| 性欧美xxxx大乳国产app| 欧美手机在线视频| 在线视频中文亚洲| 亚洲日本电影| 欧美高清在线精品一区| 亚洲黄色小视频| 欧美成人视屏| 免费成人黄色| 在线日韩欧美视频| 蜜臀久久久99精品久久久久久 | 亚洲欧美日韩在线一区| 日韩视频三区| 欧美日韩在线视频观看| 一区二区三区四区五区精品视频 | 亚洲韩国青草视频| 欧美高清自拍一区| 麻豆精品91| 亚洲国产精品va在看黑人| 欧美高潮视频| 欧美激情一区二区三区不卡| 亚洲国产美女| 91久久综合亚洲鲁鲁五月天| 欧美高清视频一区二区三区在线观看| 亚洲激情欧美激情| 亚洲国产高清视频| 欧美激情一二三区| 一区二区三区久久网| 一本色道久久加勒比88综合| 国产精品成人一区二区艾草| 亚洲欧美色一区| 午夜精品久久久久影视| 国产在线精品一区二区夜色| 久久伊人免费视频| 另类激情亚洲| 一级成人国产| 亚洲香蕉网站| 国产视频一区在线观看| 免费不卡在线观看| 欧美激情一区二区三区成人| 亚洲一区二区伦理| 午夜在线一区| 亚洲国产婷婷香蕉久久久久久99| 亚洲国产另类精品专区| 国产精品久久午夜夜伦鲁鲁| 久久久夜夜夜| 欧美激情麻豆| 翔田千里一区二区| 久热精品视频在线免费观看 | 亚洲欧美视频在线观看| 欧美有码在线视频| 99re热精品| 午夜精品久久久久久久久久久| 亚洲国产精品精华液2区45| 99精品国产福利在线观看免费 |