<这篇是以前的,不开新的了,借版面来换了个标题>

高二了

开学一周,每天被文化课作业碾压。。。

但是仍然阻挡不了想刷题的心情。。。

对付noip2016的几块:(有点少,以后补)

高精度(c++模板仍未生成)

[bzoj2656]

#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int cas;
struct data{
    ],l;
    data(){
        v[]=;l=;
    }
    void clear(){
        memset(v,,;
    }
}n,p,q;
];
void read(data &x){
    data a;scanf();a.l=strlen(ch+);
    ;i<=a.l;i++)a.v[i]=ch[a.l-i+]-';
    ;i<=a.l+;i++)a.v[i]=;//ºóÃæµÄÊý×é×îºÃ¿ÉÒÔÇå¿ÕÒ»ÏÂ
    x.l=(a.l-)/+;
    ;i<=x.l;i++)
    {
       x.v[i]=;
       ;k<=;k++)
       {
          x.v[i]=x.v[i]*+a.v[(i-)*+(-k)];
       }
    }
}
data operator+(data a,data b){
    if(a.l<b.l)swap(a,b);int t=b.l;
    ;i<=t;i++)a.v[i]+=b.v[i];
    ;i<=t;i++)
      ){
          if(i==a.l){
             a.v[i+]=;a.l++;
          }
          a.v[i+]+=a.v[i]/;t=max(t,i+);
          a.v[i]=a.v[i]%;
      }
    return a;
}
data operator+(data a,int p)
{
    data b;b.v[]=p;b.l=;return a+b;
}
data operator/(data a,int p){
    data b;;
    ;i--)
    {
       all=all*+a.v[i];b.v[i]=all/p;all=all-b.v[i]*p;
    }
    ;i<=a.l;i++)a.v[i]=b.v[i];
    &&a.l>)a.l--;return a;
}
void calc(data x)
{
    &&x.v[]==){
        p=x;q.clear();return;
    }
    calc((x+)/);]&)p=p+q;else q=p+q;
}
void print(data a){
    printf("%d",a.v[a.l]);
    ;i>;i--)printf("%04d",a.v[i]);printf("\n");
}
int main()
{
    scanf("%d",&cas);
    while(cas--){
        read(n);calc(n);print(p);
    }
} 

高精度重载+/

图论相关:欧拉路 双联通分量(以及构造)...点分治?

#include<cstdio>
#include<algorithm>
#include<cstring>
#define N 500000
using namespace std;
int u,v,edgenum,nl,nr,m,ans;
int vet[N],head[N],next[N],flag[N],match[N];
void add(int u,int v)
{
  edgenum++;vet[edgenum]=v;next[edgenum]=head[u];
  head[u]=edgenum;
}
bool dfs(int u)
{
  flag[u]=;
  int e=head[u];
  )
  {
    int v=vet[e];
    ||flag[match[v]]==&&dfs(match[v]))
    {
       match[v]=u;match[u]=v;
       return true;
    }
    e=next[e];
  }
  return false;
}
int main()
{
  scanf("%d%d%d",&nl,&nr,&m);
  ;i<=m;i++)
  {
    scanf("%d%d",&u,&v);
    v+=nl;add(u,v);
  }
  ;i<=nl;i++)

    {
       memset(flag,,sizeof(flag));
       if(dfs(i))ans++;
    }
  printf("%d\n",ans);
  ;i<=nl;i++))match[i]-=nl;
  ;i<=nl;i++)printf("%d ",match[i]);
}

二分图匹配

可行遍性问题:

hamilton回路问题(它是一个np问题,目前没有多项式算法,连判定都需要暴搜):每个点恰好走一次回到出发点。充分条件: 无向连通图中任意2点度数之和大于等于顶点数,则必定存在哈密顿回路。

无向图的欧拉回路:所有顶点为偶点

有向图的欧拉回路:所有顶点入度等于出度

一个图存在欧拉路当且仅当存在两个奇点(度数为奇数的点)或不存在奇点。

暴搜(去年没好好练吃亏了)

各式各样的dp(也包括找规律)

数论相关:联赛层面应该差不多了,以防万一先留着吧。

高斯消元,只剩下背背背

奇奇怪怪的一些写法:归排 差分 2-sat...想不出来的时候试试二分大法

网络流 可能性不大 准备了总是不会错的

kmp:有个模板是字符串重复那道题,代码在暑期集训day3那里。。。下面贴一段很详细的题解:

假设字符串为S,长度为N,子串T重复K次后得到串S,那么T的长度一定为L = N/K(要整除),则T = S[1...L],将S拆分成K份,每份长度为L,则有

S[1...L] = S[L+1...2L] = S[2L+1...3L] = ... = S[(K-1)L+1...KL]

由于要保证K最大,势必L要取最小,所以根据Next函数的定义,有Next[KL] = (K-1)L;

即Next[N] = N - L,所以L = N - Next[N];

但是得出的长度L还要保证能被N整除,所以如果不能整除说明L = N,即K = 1;而如果能整除,那么K = N / (N - Next[N]);

因而我们只要对字符串S做一趟KMP,对其求Next数组,剩下的就是上述结论

时间复杂度O(n)

偶然在一篇blog里看到的,借来共勉:

尽人事,听天命。相信自己可以拿出最好的状态。还是一样,考场思路开阔,胆大心细,勇于乱搞,rp++.

愿这是一场属于所有OIer的盛宴.

day1:先简单记录一下,希望明天加油!

T1:模拟,希望不会写挂,rp++

T2:这样看来好像还真不能说出题人超纲了,好多神犇都用大力数据结构维护了,我稍稍想到了一些意思但是没有什么卵用。希望暴力不要写挂。对拍助我。

T3:确实蛮后悔的,不该跑最小生成树,但是现在说什么都晚了。希望数据水一点。。。能给我一些分数吧。。。另外感觉如果这题在T2应该会有更多人AC吧。复述一下nbc的状态——f[i][j]=min{f[i-1][j]+dis[c[i-1]][c[i]]},f[i][j]=min{g[i-1][j]+dis[d[i-1]][c[i]]*p[i-1]+(1-p[i-1])*dis[c[i-1]][c[i]]}……claris说知道期望可加性就好了。。。唉。。。

Noip2016的更多相关文章

  1. NOIp2016 Day1&Day2 解题报告

    Day1 T1 toy 本题考查你会不会编程. //toy //by Cydiater //2016.11.19 #include <iostream> #include <cstd ...

  2. NOIp2016 游记

    DAY -2 不要问我为什么现在就开了一篇博客. 本来想起个NOIp2016爆零记或者NOIp2016退役记之类的,但是感觉现在不能乱立flag了.所以就叫游记算了. 前几场模拟赛崩了一场又一场,RP ...

  3. [Noip2016]蚯蚓 D2 T2 队列

    [Noip2016]蚯蚓 D2 T2 Description 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳 蚤国的跳蚤也拿蚯 ...

  4. [NOIP2016]愤怒的小鸟 D2 T3 状压DP

    [NOIP2016]愤怒的小鸟 D2 T3 Description Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可 ...

  5. NOIP2016普及总结

    ---恢复内容开始--- 当时我说如果不出意外有385,结果就这么跪在了第二题,惨啊 本来以为发挥算正常,结果这发挥太不正常了 [T1] 水题啊[趴 注意下细节就好考你会不会写代码. [T2] 这题大 ...

  6. [NOIP2016]换教室 D1 T3 Floyed+期望DP

    [NOIP2016]换教室 D1 T3 Description 对于刚上大学的牛牛来说, 他面临的第一个问题是如何根据实际情况中情合适的课程. 在可以选择的课程中,有2n节课程安排在n个时间段上.在第 ...

  7. 游记——noip2016

    2016.11.18 (day 0) 呆在家. 悠闲地呆在家.. 明后天可能出现的错误: 1)没打freopen.打了ctime: 2)对拍程序忘记怎么写了...忘记随机化种子怎么写了: 3)不知道厕 ...

  8. NOIP2016报零记

    其实,NOIP2016已经于10天之前就结束了,但是由于种种原因,没有写总结. 现在就来填上这个坑吧. DAY1: T1:一道简(kun)单(nan)的模拟,虽然ac,但是考试的时候总觉得怪怪的.并且 ...

  9. NOIP2016日记

    今天下午2:30~4:30考NOIP2016..我4:00前久出来了,没仔细检查.. 错了两道基础题..(T_T)  >_< 至少能过..就这样吧..努力复赛!!

随机推荐

  1. 什么时候用@Resource,什么时候用@service

    Spring中什么时候用@Resource,什么时候用@service当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),就相当于讲这个类定 ...

  2. UI第十节——UISwitch

    - (void)viewDidLoad {    [super viewDidLoad];        // 实例化UISwitch,固定大小    UISwitch *swc = [[UISwit ...

  3. 【C语言入门教程】目录/大纲

    第一章 C语言编程基础 1.1 基本程序结构 1.2 函数库 和 链接 1.3 C语言“32个”关键字 第二章 数据类型.运算符和表达式 2.1 数据类型(5种基本数据类型),聚合类型与修饰符 2.2 ...

  4. 【Go入门教程3】流程(if、goto、for、switch)和函数(多个返回值、变参、传值与传指针、defer、函数作为值/类型、Panic和Recover、main函数和init函数、import)

    这小节我们要介绍Go里面的流程控制以及函数操作. 流程控制 流程控制在编程语言中是最伟大的发明了,因为有了它,你可以通过很简单的流程描述来表达很复杂的逻辑.Go中流程控制分三大类:条件判断,循环控制和 ...

  5. 如何取消 DiscuzX 帖子被系统自动隐?

    设置路径: 全局 -> 站点功能 -> 帖子阅读 -> 启用隐藏水帖,选择“否”

  6. Android中的动画机制

          1 逐帧动画   逐帧动画 就是一系列的图片按照一定的顺序展示的过程.   逐帧动画很简单, 只需要在drawable中或者anim中定义一个Animation-list 其中包含多个it ...

  7. python基础三

    多级菜单 多级菜单 可依次选择进入各子菜单 所需新知识点:列表.字典 #!/usr/bin/env python # -*- coding: utf-8 -*- menu = { '北京':{ '海淀 ...

  8. HTML5安全:CORS(跨域资源共享)简介。。。ie67不要想了。。。

    来源:http://blog.csdn.net/hfahe/article/details/7730944 前言:像CORS对于现代前端这么重要的技术在国内基本上居然很少有人使用和提及,在百度或者Go ...

  9. [转]MyEclipse 里查看jar文件源码

    在开发过程中,有时候需要查看jar文件的源码,这里讲解如何设置.  选中某一个jar文件,如我这里选中的是struts2-core-2.1.6.jar,然后右键-->Properties--&g ...

  10. C# 委托及各种写法

    委托是神马? 委托是一个类型安全的对象,它指向程序中另一个以后会被调用的方法(或多个方法).通俗的说,委托是一个可以引用方法的对象,当创建一个委托,也就创建一个引用方法的对象,进而就可以调用那个方法, ...