期望得分:100+0+100=200

实际得分:100+5+100=205

T1

空间卡到30M。。

n<=2.5*1e7

若x是整除区间[1,n]每个数的最小的数,那么对[1,n]每个数分解质因数,

ai=2^x*3^y*5^z……

x=2^max(x) * 3^max(y) * 5^max(z) * ……

max(x)=floor (logx n)

只有5000以内的素数的指数才会>=2,所以500之后的素数打个表

代码13M,不传了

T2 bzoj 1567  Blue Mary的战役地图

正解二维哈希,但是严重不满n^7枚举可过

考试的时候zz的把return0 写成break,gg

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
inline void read (int &x)
{
x=; char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) { x=x*+c-''; c=getchar(); }
}
int a[][],b[][];
int main()
{
int n;
read(n);
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
read(a[i][j]);
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
read(b[i][j]);
int x2a,y2a,x2b,y2b;
bool ok; int ans=;
for(int len=n;len;len--)
for(int xa=;xa+len-<=n;xa++)
for(int ya=;ya+len-<=n;ya++)
for(int xb=;xb+len-<=n;xb++)
for(int yb=;yb+len-<=n;yb++)
if(a[xa][ya]==b[xb][yb])
{
ok=true;
for(int x=;x<=len&&ok;x++)
for(int y=;y<=len&&ok;y++)
if(a[xa+x-][ya+y-]!=b[xb+x-][yb+y-]) ok=false;
if(ok) { ans=len;printf("%d",ans);return ;}
}
}

T3[SDOI2009]Elaxia的路线 增强版

2个人改成k个人

#include <queue>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define N 1501
#define M 4000001
using namespace std;
int n,m,k;
int s[],t[];
int front[N],to[M],nxt[M],tot=,val[M],from[M];
int dis1[][N],dis2[][N];
bool vis[N];
int in[N],front2[N],nxt2[N<<],to2[N<<],val2[N<<],tot2;
int dp[N];
struct node
{
int num,dis;
bool operator < (node q)const
{
return dis>q.dis;
}
}cur,nt;
void read(int &x)
{
x=; char c=getchar();
while(!isdigit(c)) c=getchar();
while(isdigit(c)) { x=x*+c-''; c=getchar(); }
}
void add(int u,int v,int w)
{
to[++tot]=v;nxt[tot]=front[u];front[u]=tot;val[tot]=w;from[tot]=u;
to[++tot]=u;nxt[tot]=front[v];front[v]=tot;val[tot]=w;from[tot]=v;
}
void add2(int u,int v,int w)
{
to2[++tot2]=v;nxt2[tot2]=front2[u];front2[u]=tot2;val2[tot2]=w;in[v]++;
}
void init()
{
read(n); read(m); read(k);
for(int i=;i<=k;i++) read(s[i]),read(t[i]);
int u,v,w;
for(int i=;i<=m;i++)
{
read(u); read(v); read(w);
add(u,v,w);
}
}
void dijkstra1(int w)
{
priority_queue<node>q;
int S=s[w],T=t[w];
memset(dis1[w],,sizeof(dis1[w]));
memset(vis,false,sizeof(vis));
dis1[w][S]=;
cur.dis=;cur.num=S;
q.push(cur);
int now;
while(!q.empty())
{
cur=q.top(); q.pop();
now=cur.num;
if(vis[now]) continue;
vis[now]=true;
if(dis1[w][now]!=cur.dis) continue;
for(int j=front[now];j;j=nxt[j])
if(dis1[w][to[j]]>dis1[w][now]+val[j])
{
dis1[w][to[j]]=dis1[w][now]+val[j];
nt.dis=dis1[w][to[j]];
nt.num=to[j];
q.push(nt);
}
}
}
void dijkstra2(int w)
{
priority_queue<node>q;
int T=s[w],S=t[w];
memset(dis2[w],,sizeof(dis2[w]));
memset(vis,false,sizeof(vis));
dis2[w][S]=;
cur.dis=;cur.num=S;
q.push(cur);
int now;
while(!q.empty())
{
cur=q.top(); q.pop();
now=cur.num;
if(vis[now]) continue;
vis[now]=true;
if(dis2[w][now]!=cur.dis) continue;
for(int j=front[now];j;j=nxt[j])
if(dis2[w][to[j]]>dis2[w][now]+val[j])
{
dis2[w][to[j]]=dis2[w][now]+val[j];
nt.dis=dis2[w][to[j]];
nt.num=to[j];
q.push(nt);
}
}
}
void pre()
{
for(int i=;i<=k;i++) dijkstra1(i),dijkstra2(i);
}
void topsort()
{
queue<int>q;
for(int i=;i<=n;i++)
if(!in[i]) q.push(i);
int now;
while(!q.empty())
{
now=q.front(); q.pop();
for(int i=front2[now];i;i=nxt2[i])
{
dp[to2[i]]=max(dp[to2[i]],dp[now]+val2[i]);
in[to2[i]]--;
if(!in[to2[i]]) q.push(to2[i]);
}
}
int ans=;
for(int i=;i<=n;i++) ans=max(ans,dp[i]);
printf("%d",ans);
}
void solve()
{
bool ok;
int u,v;
for(int i=;i<=tot;i++)
{
ok=true;
u=from[i]; v=to[i];
if(dis1[][u]+val[i]+dis2[][v]!=dis1[][t[]]) continue;
for(int j=;j<=k&&ok;j++)
if(dis1[j][u]+val[i]+dis2[j][v]!=dis1[j][t[j]] && dis2[j][u]+val[i]+dis1[j][v]!=dis2[j][s[j]]) ok=false;
if(ok) add2(u,v,val[i]);
}
topsort();
}
int main()
{
freopen("yukari.in","r",stdin);
freopen("yukari.out","w",stdout);
init();
pre();
solve();
}

NOIP模拟赛13的更多相关文章

  1. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  2. CH Round #48 - Streaming #3 (NOIP模拟赛Day1)

    A.数三角形 题目:http://www.contesthunter.org/contest/CH%20Round%20%2348%20-%20Streaming%20%233%20(NOIP模拟赛D ...

  3. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  4. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  5. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  6. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  7. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  8. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  9. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

随机推荐

  1. “Hello World!”团队第六周的第一次会议

    今天是我们团队“Hello World!”团队第六周召开的第一次会议.博客内容: 一.会议时间 二.会议地点 三.会议成员 四.会议内容 五.Todo List 六.会议照片 七.燃尽图 一.会议时间 ...

  2. 软工1816 · Alpha冲刺(8/10)

    团队信息 队名:爸爸饿了 组长博客:here 作业博客:here 组员1(组长):王彬 过去两天完成了哪些任务 推进前后端各个接口的整合 学习jQuery基本语法,为beta阶段的商铺页面做准备 接下 ...

  3. SGU 181 X-Sequence(一题比较水的求模找规律)

    E - X-Sequence Time Limit:500MS     Memory Limit:4096KB     64bit IO Format:%I64d & %I64u Submit ...

  4. TCP系列51—拥塞控制—14、TLP、ER与拥塞控制

    一.概述 这里的重点是介绍TLP.ER与拥塞控制并不是介绍TLP和ER本身,因此TLP和ER的详细内容请翻前文. 在TLP与拥塞控制的交互中有几个点需要注意 1.TLP触发的重传后,TCP仍然处于Op ...

  5. 第94天:CSS3 盒模型详解

    CSS3盒模型详解 盒模型设定为border-box时 width = border + padding + content 盒模型设定为content-box时 width = content所谓定 ...

  6. BZOJ 2424 订货(贪心+单调队列)

    怎么题解都是用费用流做的啊...用单调队列多优美啊. 题意:某公司估计市场在第i个月对某产品的需求量为Ui,已知在第i月该产品的订货单价为di,上个月月底未销完的单位产品要付存贮费用m,假定第一月月初 ...

  7. 【bzoj4007】[JLOI2015]战争调度 暴力+树形背包dp

    题目描述 给你一棵 $n$ 层的完全二叉树,每个节点可以染黑白两种颜色.对于每个叶子节点及其某个祖先节点,如果它们均为黑色则有一个贡献值,如果均为白色则有另一个贡献值.要求黑色的叶子节点数目不超过 $ ...

  8. C++解析(10):struct和class的区别

    0.目录 1.默认访问级别 2.默认继承方式 2.1 分别独立继承 2.2 struct继承class 2.3 class继承struct 3.小结 1.默认访问级别 在用struct定义类时,所有成 ...

  9. Cells UVALive - 3486(dfs序+手动开栈)

    给一棵树,每次每次询问一个点是否是另一个点的祖先? 输入时是每个下标对应节点的儿子的数量 用dfs序 时间戳.. 如果一个点是另一个点的祖先,那么它的两个标记一定在祖先的范围之内 #include & ...

  10. BZOJ3782 上学路线 【dp + Lucas + CRT】

    题目链接 BZOJ3782 题解 我们把终点也加入障碍点中,将点排序,令\(f[i]\)表示从\((0,0)\)出发,不经过其它障碍,直接到达\((x_i,y_i)\)的方案数 首先我们有个大致的方案 ...