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

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| 国产一区二区三区在线播放免费观看| 在线观看的日韩av| 久久影院午夜片一区| 性欧美xxxx大乳国产app| 国产欧美精品一区二区三区介绍 | 美国成人直播| 黄色av日韩| 亚洲国产成人精品久久| 欧美精品1区2区| 亚洲视频一二| 亚洲欧美美女| 在线观看欧美亚洲| 亚洲区一区二| 国产精品户外野外| 久久久久国产精品一区二区| 久久久久欧美| 亚洲性感激情| 久久精品三级| 国产精品99久久不卡二区| 午夜国产精品视频免费体验区| 国产一区二区三区黄| 亚洲国产高清在线| 国产精品美女| 欧美aⅴ一区二区三区视频| 欧美久色视频| 久久久久天天天天| 欧美精品免费在线观看| 欧美资源在线观看| 欧美精品 日韩| 久久精品亚洲热| 欧美日韩国产bt| 久久精品国亚洲| 欧美日韩ab片| 欧美freesex8一10精品| 国产精品高潮呻吟视频| 欧美顶级少妇做爰| 国产亚洲欧洲| 99这里只有精品| 亚洲第一网站| 久久福利电影| 午夜精品久久久久影视| 欧美精品成人91久久久久久久| 欧美伊久线香蕉线新在线| 欧美精品v日韩精品v国产精品| 久久激情综合网| 欧美午夜不卡| 亚洲精品视频一区| 亚洲国产经典视频| 久久精品亚洲精品| 亚洲欧美www| 欧美日韩一级视频| 亚洲人成在线观看一区二区 | 老鸭窝毛片一区二区三区| 亚洲男人第一av网站| 欧美日韩国产首页| 亚洲黄色一区| 亚洲精品欧美专区| 久久综合成人精品亚洲另类欧美| 久久精品国产在热久久 | 欧美精品九九99久久| 欧美成人影音| 亚洲高清久久久| 久久一区二区三区四区| 玖玖玖国产精品| 伊人精品久久久久7777| 欧美中日韩免费视频| 久久精品主播| 精品1区2区3区4区| 久久蜜臀精品av| 欧美国产第一页| 亚洲精品在线免费| 欧美区在线播放| 亚洲日本视频| 亚洲专区一区| 国产欧美一区在线| 羞羞色国产精品| 美女脱光内衣内裤视频久久影院 | 国产精品99久久久久久久久| 欧美精品亚洲精品| 99日韩精品| 欧美在线国产| 韩国自拍一区| 欧美成人在线免费观看| 亚洲欧洲日韩综合二区| 一区二区三区www| 国产精品美女主播在线观看纯欲| 亚洲欧美日韩国产综合在线| 久久久之久亚州精品露出| 亚洲观看高清完整版在线观看| 嫩草国产精品入口| 一区二区三区视频在线观看| 亚洲在线国产日韩欧美| 国产一区二区福利| 欧美刺激午夜性久久久久久久| 99国产精品久久久| 久久久爽爽爽美女图片| 亚洲国产日韩欧美在线99| 欧美日韩一区二| 欧美一区二区视频在线观看2020| 欧美www视频| 亚洲伊人伊色伊影伊综合网| 国产一区二区精品在线观看| 女仆av观看一区| 亚洲一区二区三区影院| 免费欧美日韩| 香蕉乱码成人久久天堂爱免费| 在线观看精品一区| 国产精品二区二区三区| 久久久亚洲综合| 一区二区动漫| 亚洲国产精品99久久久久久久久| 亚洲一区二区三区免费视频| 韩国欧美一区| 国产精品ⅴa在线观看h| 蜜臀av一级做a爰片久久| 亚洲在线一区二区| 亚洲精品久久久久久一区二区| 久久久久久9999| 亚洲欧美国产精品桃花| 亚洲精品美女在线观看| 激情五月***国产精品| 国产精品久久久久久久第一福利| 免费的成人av| 久久婷婷国产综合尤物精品| 亚洲女人小视频在线观看| 亚洲精品免费看| 欧美激情a∨在线视频播放| 欧美在线亚洲在线| 亚洲永久在线| 亚洲一区二区三区午夜| 亚洲素人一区二区| 亚洲欧洲精品天堂一级| 牛牛精品成人免费视频| 亚洲伊人一本大道中文字幕| 欧美亚洲专区| 亚洲一区二区三区精品动漫| 亚洲激情偷拍| 亚洲国产精品va在看黑人| 黄色日韩在线| 国产在线精品一区二区夜色| 国产精品久久77777| 欧美偷拍另类| 欧美日产国产成人免费图片| 欧美jizzhd精品欧美喷水| 久久精品夜夜夜夜久久| 久久不见久久见免费视频1| 午夜精品在线观看| 香蕉久久夜色| 久久国产精品毛片| 久久九九久久九九| 久久综合电影| 欧美电影资源| 欧美日韩情趣电影| 国产精品萝li| 国产午夜亚洲精品不卡| 狠狠综合久久av一区二区老牛| 狠色狠色综合久久| 亚洲国产美女| 99热免费精品| 性色av一区二区三区红粉影视| 性欧美长视频| 美女精品在线| 亚洲国产综合91精品麻豆| 日韩西西人体444www| 亚洲天堂男人| 久久久亚洲欧洲日产国码αv| 免费人成精品欧美精品| 欧美日韩的一区二区| 国产精品亚洲综合| 一区在线电影| 一区二区高清在线观看| 亚洲欧美自拍偷拍| 免费成人黄色av| 亚洲裸体俱乐部裸体舞表演av| 正在播放亚洲| 欧美呦呦网站| 欧美日韩精品综合在线| 国产免费观看久久黄| 亚洲国产精品久久精品怡红院 | 国产精品久久久久9999吃药| 国产亚洲成人一区| 亚洲精品乱码久久久久久按摩观 | 在线亚洲观看| 久久久噜噜噜久噜久久| 亚洲精品美女在线| 久久成人av少妇免费| 欧美日韩国产成人在线| 极品少妇一区二区三区精品视频| 亚洲美女91| 久久久99爱| 99精品视频免费观看视频| 久久久久成人精品| 国产精品高潮视频| 亚洲精品视频一区二区三区| 久久精品午夜| 亚洲一区中文| 欧美日本精品| 在线观看一区二区视频| 性色一区二区三区|