1. luoguP3871 [TJOI2010]中位数

    Date: Tue 30 October 2018
    Updated: Tue 30 October 2018

    In 5. OI.

    Tags: OI

    题目


    显然中位数为排序后第(n+1)/2个数

    define m (n+1)/2

    考虑维护两个堆

    一个大根堆(s1),里面为前m个元素;一个小根堆(s2),里面为后n-m个元素

    修 …

    Read more
  2. luoguP1983 车站分级

    Date: Tue 30 October 2018
    Updated: Tue 30 October 2018

    In 5. OI.

    Tags: OI

    题目


    将每趟车看成一个虚点,每个站点看成实点

    对于一辆车 虚点指向起点站到终点站所有经过的点 起点站到终点站所 …

    Read more
  3. luoguP1363 幻想迷宫

    Date: Tue 30 October 2018
    Updated: Tue 30 October 2018

    In 5. OI.

    Tags: OI

    题目


    #include<bits/stdc++.h>
    #define N 1600
    #define INF 99999999
    #define md(a,b) (((a)%b+b)%b)
    #define fsb(a,b,c) for(int a=b;a<=c;a++)
    #define fbs(a,b,c) for(int a=b;a>=c;a--)
    using namespace std;
    int sx,sy …
    Read more
  4. 'luoguP3718 [AHOI2017初中组]alter'

    Date: Mon 29 October 2018
    Updated: Mon 29 October 2018

    In 5. OI.

    Tags: OI

    题目


    需要特判ans=1

    check函数要考虑

    7 1
    NNFFFNN
    

    这种数据

    #include<bits/stdc++.h>
    #define ll long long
    #define N 100010
    #define fsb(a,b,c) for(int a=b;a<=c;a++)
    #define fbs(a,b,c) for(int a=b;a>=c …
    Read more
  5. luoguP2439 [SDOI2005]阶梯教室设备利用

    Date: Sun 28 October 2018
    Updated: Sun 28 October 2018

    In 5. OI.

    Tags: OI

    题目


    O(k+nlogn)

    f[i]表示0..i的区间的最大演讲时间。

    f[i]要么不演讲从f[i-1]转移 要么演讲,从f[i-a[j].s]转移(a[j].e==i)

    #include<bits/stdc++.h>
    #define M 30010
    #define N 10010
    #define max …
    Read more
  6. luoguP2327 [SCOI2005]扫雷

    Date: Sun 28 October 2018
    Updated: Sun 28 October 2018

    In 5. OI.

    Tags: OI

    题目

    x,y=1:放 0:不放

    calc(p,x,y)计算第p个位置为x 第p+1个位置为y的方案数

    显然第p-1个位置需要为a[p]-x-y才能满足第p个位置

    可见答案只可能是0/1/2

    #include<bits/stdc++.h>
    #define ll long long
    #define N 10010
    #define fsb …
    Read more
  7. 模板/知识库

    Date: Sat 27 October 2018
    Updated: Sat 27 October 2018

    In 6. Misc.

    Tags: OI

    逆元

    求x在%p意义下的逆元

    即x^(p-2)

    #define md(a) (((a)%p+p)%p)
    inline ll po(ll x){
     ll y=mo-3,ans=x,t=x;
     while(y>0){
      if(y&1)ans=md(ans*t);
      y=y>>1;
      t=md(t*t);
     }
     return ans;
    }
    

    位运算 …

    Read more

Social