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

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>
            欧美日一区二区在线观看| 国产精品成人一区二区网站软件| 国产农村妇女精品一区二区| 亚洲免费在线观看| 在线一区二区三区四区五区| 国产精品国产三级国产a| 亚洲综合好骚| 久久av红桃一区二区小说| 精品91在线| 亚洲欧洲日韩在线| 欧美日韩黄色大片| 欧美一区二区三区四区夜夜大片| 欧美中文在线免费| 亚洲日韩第九十九页| 一本色道久久综合亚洲精品小说 | 欧美高潮视频| 欧美日韩国产在线| 久久精品一区二区三区中文字幕| 久久综合九色综合欧美狠狠| 99re6热只有精品免费观看| 一区二区三区免费看| 韩日欧美一区二区三区| 亚洲三级国产| 国产欧美精品一区二区色综合 | 亚洲电影在线看| 国产精品盗摄一区二区三区| 久久综合九色九九| 欧美日韩一本到| 另类综合日韩欧美亚洲| 欧美日韩黄色大片| 麻豆国产精品777777在线| 欧美日韩亚洲一区二区三区在线 | 亚洲国产一区二区三区a毛片| 国产精品久久久久一区二区三区共 | 久久亚洲一区二区| 欧美视频在线免费| 欧美激情亚洲自拍| 国产日本精品| 一区二区日韩| 亚洲免费电影在线观看| 久久精品国产欧美亚洲人人爽| 亚洲一区二区三区免费视频| 巨胸喷奶水www久久久免费动漫| 午夜国产精品视频| 欧美日韩国产限制| 欧美激情国产日韩| 狠狠色丁香久久婷婷综合_中| 亚洲视频综合在线| 99视频一区| 欧美777四色影视在线| 久久琪琪电影院| 国产伦精品一区二区三区在线观看| 亚洲精品国产精品久久清纯直播| 激情久久久久| 久久精品国产精品| 久久久久.com| 国内自拍亚洲| 久久国产精品久久久久久久久久| 午夜精彩视频在线观看不卡| 国产精品v欧美精品v日韩| 亚洲精品一区中文| 一区二区免费在线观看| 欧美国产日韩一区| 亚洲激情一区二区| 日韩午夜在线电影| 欧美日韩国产影院| 一本色道久久综合亚洲精品按摩| 一区二区国产在线观看| 欧美日韩亚洲另类| 一区二区三区欧美在线观看| 亚洲一区二区欧美日韩| 国产精品v欧美精品∨日韩| 99精品热视频| 先锋亚洲精品| 激情文学综合丁香| 久久婷婷久久一区二区三区| 麻豆亚洲精品| 亚洲精品五月天| 欧美日韩中文另类| 亚洲女人小视频在线观看| 久久精品91久久久久久再现| 国产一区在线播放| 久热这里只精品99re8久| 最新亚洲一区| 午夜久久资源| 一区二区三区在线不卡| 欧美国产亚洲视频| 亚洲无限av看| 麻豆精品一区二区综合av| 亚洲人午夜精品| 欧美午夜电影在线| 久久精品水蜜桃av综合天堂| 欧美高清视频在线观看| 一区二区三区视频观看| 国产精品一区免费观看| 卡一卡二国产精品| 亚洲一区二区三区视频播放| 久久亚洲精品中文字幕冲田杏梨| 亚洲乱码日产精品bd| 国产酒店精品激情| 欧美国产视频在线观看| 亚洲综合首页| 亚洲国产综合在线| 久久精品99| 亚洲视频一区在线观看| 一区二区三区在线观看视频| 欧美日韩免费视频| 久久久精品国产免大香伊 | 久久五月激情| 亚洲午夜精品在线| 亚洲国产精品一区二区第四页av | 免费成人美女女| 亚洲免费网址| 亚洲人成网站精品片在线观看| 欧美一区二区三区在| 99国产成+人+综合+亚洲欧美| 国产日韩精品在线| 欧美日韩一区二区在线视频 | 久久综合色播五月| 性欧美18~19sex高清播放| 亚洲精品日产精品乱码不卡| 玖玖视频精品| 久久精品国产精品| 亚洲尤物在线视频观看| 99re8这里有精品热视频免费 | 欧美日韩福利| 免费影视亚洲| 久久午夜电影网| 午夜亚洲影视| 亚洲免费在线视频一区 二区| 亚洲精品乱码久久久久久久久 | 亚洲影视中文字幕| 亚洲美女视频网| 最近中文字幕mv在线一区二区三区四区 | 久久久精品视频成人| 亚洲欧美日本视频在线观看| aa亚洲婷婷| 日韩写真视频在线观看| 亚洲欧洲精品天堂一级| 亚洲高清不卡一区| 亚洲第一在线| 欧美高清不卡在线| 亚洲国产精品成人精品| 亚洲第一中文字幕| 亚洲国产成人精品视频| 亚洲国产精品女人久久久| 亚洲国产精品传媒在线观看| 亚洲国产精品电影| 亚洲高清免费视频| 亚洲人成人77777线观看| 亚洲日韩成人| 夜夜嗨av一区二区三区网页| 一区二区三区蜜桃网| 亚洲天堂成人| 午夜伦欧美伦电影理论片| 欧美一区二区三区免费视| 午夜宅男久久久| 久久人人爽爽爽人久久久| 欧美成人福利视频| 欧美另类女人| 国产精品视频网| 狠狠久久亚洲欧美| 亚洲国产中文字幕在线观看| 日韩视频免费观看| 亚洲自拍三区| 美女精品网站| 亚洲精品在线视频观看| 亚洲系列中文字幕| 欧美中文在线视频| 欧美高清在线视频| 国产精品人人做人人爽人人添| 国产性猛交xxxx免费看久久| 亚洲电影在线看| 亚洲主播在线播放| 久久伊人免费视频| 日韩一二在线观看| 久久久久久亚洲精品不卡4k岛国| 欧美国产专区| 国产亚洲欧美日韩在线一区| 91久久精品日日躁夜夜躁欧美| 亚洲影院高清在线| 麻豆精品精华液| 一区二区三区**美女毛片| 久久久久久久久岛国免费| 欧美日本在线看| 激情五月婷婷综合| 亚洲免费在线观看视频| 欧美激情一区二区三区在线视频| 正在播放亚洲一区| 欧美成人精品1314www| 国产欧美精品一区二区三区介绍 | 国产精品激情| 亚洲激情专区| 久久亚洲国产成人| 亚洲无线一线二线三线区别av| 狂野欧美一区| 国内外成人在线| 午夜久久久久久| 亚洲毛片在线观看.| 久久夜色精品|