3
5
2015
0

高精度压位储存

最近想到要整理下以前学过的一些知识。首先先说说高精度压位储存的知识吧,具体实现是参照RXDoi神牛的,也是得到了他的不少帮助,这里表示感谢!

 

(需要模板的或者不想听废话的就直接翻到后面看我代码就行~)

 

Category: 算法讲解 | Tags: 高精度
3
1
2015
0

CF题目清单

这是很早之前开的坑……最近准备持续更新= =

基本上每十次左右的比赛,我会调出一些我不太会但是难度我还能接受的记录进来。。。(一般都是比赛的时候不会然后赛后补的)

Category: codeforces | Tags:
12
1
2014
10

BZOJ水题清单(留坑系列)

1058 stl(set和map乱搞)或者splay

1044 二分答案+前缀和优化dp(还要滚存)

1800 求出直径条数x,答案是C(x,2)

1002 高精度+递推(数学)

1008 数学推理

1051 tarjan求SCC缩点求出度为0点的个数

1208 splay或set

1588 splay

Category: BZOJ | Tags:
12
1
2014
0

Codeforces Round#213D

题意:给定商店中的物品数量n和整数d,并给出n个物品的价值。(每个物品有且只有1件)如果满足手上的若干物品价值和+d>=商店中的若干物品和,你可以拿这些物品换下商店里的这些物品。(交换的物品数量不限)且初始状态为你没有任何物品但是你可以空手去换。求能得到的最大价值和在得到最优解的情况下的最小交换次数。题目下面有样例解释,应该可以理解。

Category: codeforces | Tags: 背包
12
1
2014
0

Codeforces Round #213C

题意:给定一个数a和一个字符串s,且定义矩阵b[i][j]=s[i]*s[j],求有几个子矩阵,满足其中的所有元素之和等于a。
 

Category: codeforces | Tags: 模拟 前缀和
10
27
2014
0

Codeforces Round#274B

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
#include<vector>
#include<string>
#include<set>
#include<queue>
#include<stack>
#include<map>
#include<cmath>
#include<cstdlib>
#define ll long long
#define maxn 100010
#define inf 1000000000
#define linf (1LL<<50)
using namespace std;
#define REP( i, n ) for ( int i = 1; i <= n; i ++ )
#define REP_0( i, n ) for ( int i = 0; i < n; i ++ )
#define REP_0N( i, n ) for ( int i = 0; i <= n; i ++ )
#define REP_S( i, ss ) for ( char *i = ss; *i; i ++ )
#define REP_G( i, u ) for ( int i = pos[ u ]; i; i = g[ i ].frt )
#define FOR( i, a, b ) for ( int i = a; i <= b; i ++ )
#define DWN( i, a, b ) for ( int i = b; i >= a; i -- )
#define RST( a ) memset ( a, 0, sizeof ( a ) )
#define CLR( a, x ) memset ( a, x, sizeof ( a ) )
#define CPY( a, b ) memcpy ( a, b, sizeof ( a ) )
inline ll read()
{
    ll x=0,f=1;char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x*=10;x+=ch-'0';ch=getchar();}
    return x*f;
}

inline void read(char *s,int &ts)
{
char x=getchar();
while(!(x>='a'&&x<='z'))x=getchar();
while(x>='a'&&x<='z')s[++ts]=x,x=getchar();
}
int n,k;
int a[maxn],b[maxn],c[maxn];
int ans1=inf,ans2;
int mx,mn;
int t1,t2;
int flag;
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++)
    scanf("%d",&a[i]);
    for(int i=1;i<=k;i++)
    {
        mx=-1;
        mn=inf;
        for(int j=1;j<=n;j++)
        {
            if(a[j]>mx) {mx=a[j];t1=j;}
            if(a[j]<mn) {mn=a[j];t2=j;}
        }
        //printf("%d %d\n",mx,mn);
        if(mx-mn<=1) {ans2=i-1;flag=1;ans1=min(ans1,mx-mn);break;}
        ans1=min(ans1,mx-mn);
        b[i]=t1;c[i]=t2;
        a[t1]--;a[t2]++;
    }
    if(!flag) 
    ans2=k;
    mx=-1;mn=inf;
    for(int j=1;j<=n;j++)
    {
        if(a[j]>mx) {mx=a[j];t1=j;}
        if(a[j]<mn) {mn=a[j];t2=j;}
    }
    ans1=min(ans1,mx-mn);
    printf("%d %d\n",ans1,ans2);
    for(int i=1;i<=ans2;i++)
    printf("%d %d\n",b[i],c[i]);
    return 0;
}

Category: 未分类 | Tags:
8
20
2014
0

【转】国家集训队论文集(1999-2009)

国家集训队1999论文集

陈宏:《数据结构的选择与算法效率——从IOI98试题PICTURE谈起》
来煜坤:《把握本质,灵活运用——动态规划的深入探讨》
齐鑫:《搜索方法中的剪枝优化》
邵铮:《数学模型的建立、比较和应用》
石润婷:《隐蔽化、多维化、开放化——论当今信息学竞赛中数学建模的灵活性》
杨帆:《准确性、全面性、美观性——测试数据设计中的三要素》
周咏基:《论随机化算法的原理与设计》

Category: 未分类 | Tags:
8
20
2014
0

Codeforces Round#260E

先把这几天要填的坑填完……T T

题意 by hongrock (语文水平及表达水平不高借鉴别人的题目翻译……)

 

题目就是N个点的无向图,先给出M条边,这M条边使得任意两点间要么不连通,要么仅有唯一的路径相连。

两个点如果连通就说明它们在同一个区域。

然后Q个询问

1 x,输出x所在区域的最长路径;

2 x y,如果x和y在同一区域则忽略,否则合并两个区域,并且合并之后的新区域的最长路径应该是最短的。

 

Category: codeforces | Tags: 并查集 树的直径

Host by is-Programmer.com | Power by Chito 1.3.3 beta | Theme: Aeros 2.0 by TheBuckmaker.com