NOIP2017SummerTraining0710
个人感受:这套题,题目泄露,没什么好打的,第一题刚开始题目理解错误,后来还行,第二道题,打了一个50还是60分的dp,第三道暴力过了小数据,拿了200分,排名15+。
问题 A: 七天使的通讯
时间限制: 2 Sec 内存限制: 256 MB
提交: 427 解决: 126
[提交][状态][讨论版]
题目描述
输入
输出
对于每个询问,输出一行“sane”表示有可行方案、“non”表示无解
样例输入
1 7 5 1 3 2 7 3 4 7 4 6 5
样例输出
sane
提示
【样例解释】
样例中共有一个询问。

在(1,3)、(4,7)、(5,6)之间连黑色通道,在(2,7)、(3,4)之间连白色通道,每条通道都成功建立,且同种颜色的通道没有相交,所以输出sane。
【数据规模和约定】
对于 20%的数据,1<=n<=50,1<=m<=15
对于
50%的数据,1<=n<=1000,1<=m<=300
对于
100%的数据,1<=n<=5000,1<=m<=1000,1<=T<=10,1<=a<=n,1<=b<=n
数据保证每对(a,b)不重复,且a不等于b
【提示】
当两条线路有一对相同的端点时,这两条线路不相交。
也就是说,对于线路(a,b)和线路(c,d)(a<b且c<d),当且仅当a<c<b<d或者c<a<d<b时这两条线路相交。
这题比较水吧,黑白染色法就可以过了,因为通道不能相较,输入的时候就判断,然后连边就可以了。
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string>
using namespace std;
];
],next[],rea[];
struct fzy
{
int l,r;
}a[];
bool check(int i,int j)
{
;
;
;
;
}
void add(int u,int v)
{
cnt++;
next[cnt]=head[u];
head[u]=cnt;
rea[cnt]=v;
}
void dfs(int u)
{
;i=next[i])
{
int v=rea[i];
)
{
color[v]=color[u]^;
dfs(v);
}
}
}
int main()
{
scanf("%d",&CAS);
while (CAS--)
{
cnt=;
memset(head,-,sizeof(head));
memset(color,-,sizeof(color));
scanf("%d%d",&n,&m);
;i<=m;i++)
{
scanf("%d%d",&a[i].l,&a[i].r);
if (a[i].l>a[i].r) swap(a[i].l,a[i].r);
;j<i;j++)
if (check(i,j))
{
add(i,j);
add(j,i);
}
}
;i<=m;i++)
)
{
color[i]=;
dfs(i);
}
;
;i<=m;i++)
{
;j=next[j])
{
int u=i,v=rea[j];
if (color[u]==color[v])
{
flag=;
break;
}
}
) break;
}
) printf("non\n");
else printf("sane\n");
}
}
都市环游
时间限制: 1 Sec 内存限制: 512 MB
提交: 262 解决:
93
[提交][状态][讨论版]
题目描述
输入
输出
样例输入
5 17 7 0 2 4 5 3 1 2 2 1 1 3 3 1 1 4 4 1 4 5 5 4 5 3 4 1 2 1 5 3 2 1 2 1 1 2 2 1 1 3
样例输出
245
提示
花了10分钟左右打了一个dp,拿了50分,后来发现hi<=70后来想到了快速幂,矩阵乘法,就可以了,到所有路径的方案数是确定的。
#include<cstdio>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstring>
using namespace std;
;
;
int n,m,t;
},f[NN][NN]={},road[NN][NN]={};
};
void solve(int num)
{
;i<NN;i++)
fzy[i][i]=;
while (num)
{
};
==)
{
;i<=n;i++)
;j<=n;j++)
;k<=n;k++)
xx[i][j]=(xx[i][j]+fzy[i][k]*road[k][j])%MOD;
;i<=n;i++)
;j<=n;j++)
fzy[i][j]=xx[i][j];
}
memset(xx,,sizeof(xx));
;i<=n;i++)
;j<=n;j++)
;k<=n;k++)
xx[i][j]=(xx[i][j]+road[i][k]*road[k][j])%MOD;
;i<=n;i++)
;j<=n;j++)
road[i][j]=xx[i][j];
num/=;
}
;i<=n;i++)
;j<=n;j++)
) f[][j]=(f[][j]+f[][i]*fzy[i][j])%MOD;
printf(][n]);
}
int main()
{
scanf("%d%d%d",&n,&m,&t);
;i<=n;i++)
scanf("%d",&a[i]);
int x,y;
;i<=m;i++)
{
scanf("%d%d",&x,&y);
road[x][y]++;
}
;i<=n;i++)
road[i][i]++;
f[][]=;
;i<=;i++)
;j<=n;j++)
;k<=n;k++)
) f[i][k]=(f[i][k]+f[i-][j]*road[j][k])%MOD;
) printf("%d\n",f[t][n]);
);
}
大水题
时间限制: 1 Sec 内存限制: 512 MB
提交: 204 解决:
27
[提交][状态][讨论版]
题目描述
位的数的生成矩阵A 为一个大小为n*n
且Aij
为这个数的第i*n+j-n位的矩阵。
位的数k,他想知道所有小于等于k
的数的n*n
生成矩阵有多少种。(如果不足n^2 位则补前缀零)
输入
输出
样例输入
2 1000
样例输出
954
提示
<=1000,且n为偶数
度后可以重叠,则称这两个矩阵是相同的。
30分的代码好打,但是满分的数位dp难想。
NOIP2017SummerTraining0710的更多相关文章
随机推荐
- Python初学——pickle & set
pickle 存放数据 保存和提取python运算完的结果 首先import pickle模块 定义一个字典: a_dict={'da':111,2:[23,1,4],'23':{1:2,'d':'s ...
- HTML5新增属性data-*和js/jquery之间的交互
HTML5新增属性data- data-自定义属性,这种方式的自定义属性解决属性混乱无状态管理的现状 书写实例 <div data-role="page" data-last ...
- Spring Boot-------项目搭建及注解
Spring Boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需 ...
- JMeter打开脚本失败 如何解决?
最近有碰到JMeter打开之前的脚本,报错了,见下图: 后来发现这是因为之前保存脚本的 jmeter 和这次打开脚本的 jmeter 版本不一致(图一)或者版本一致而插件没有保持同步(图二)的原因: ...
- 微软为啥让免费升Win10?
今天终于赶在截止日期之前把我的联想PC升到win10.微软这次对中国开放的持续一年的免费升级活动主要有两个原因.首先当然是"感恩Windows用户长久支持的回馈".微 ...
- OSX 10.8+下开启Web 共享 的方法
MENU Home Archives About SUBSCRIBE ☰MENU OSX 10.8+ Mountain Lion 下开启 Web Sharing(Web 共享)的方法 JUL 28, ...
- 集美大学网络1413第十一次作业成绩(团队七) -- Alpha冲刺之事后诸葛亮
题目 团队作业7--Alpha冲刺之事后诸葛亮 团队作业7成绩 团队/分值 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队角色. 管理.合作 总结 讨论照片 团队成员 角色.贡献 总 ...
- 201521123055 《Java程序设计》第8周学习总结
1. 本章学习总结 2. 书面作业 Q1.List中指定元素的删除(题目4-1) public static List<String> convertStringToList(String ...
- 201521123090《Java程序设计》第1周学习总结
1.学习总结 初步了解面对对象编程思想 使用eclipse关联git管理代码 简单了解java 2.书面作业 Q:为什么java程序可以跨平台运行?执行java程序的步骤是什么?(请用自己的语言书写) ...
- 201521123002《Java程序设计》第10周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 1.finally 题目4-2 1.1 截图你的提交结果(出 ...