2013.2.A&&3.A
半期考之后,磨磨蹭蹭的刷了两套长乐的模拟题【=-=我现在实在是不敢恭维自己的刷题速度】
感觉貌似很久没有来这里喂食了,就顺便yy下题解好了 2013.2.A:
ice :BFS和spfa都可以,我打了个spfa顺便复习了一【ps:不懂自己在想什么,用cena的时候配置配错了,无限wa啊,=-=之后测了一下标程,不明觉厉】 promotion: DP 感觉自己DP一直都不太会【或许是因为没有很系统的学习】 然后大概想了一下F[I][J]要填什么 大概yy出来之后 貌似调得蛮久的 book :这是之前我在学二分算法的时候打的一题 记得当时模拟写挂了【差点哭瞎】 2013.3.A country :纯模拟,没有什么好说的【当时自己忘记判在同一个圆的情况,=-=WA的特忧伤】 dec:二分答案+排序【还有这里需要预处理一下把相同的数放在同一集合里】【排序完之后二分找到a+c=b的就可以了】 couple number: 看得第一眼以为是有点厉害的数论 之后发现就是奇数和4的倍数嘛【不到15行=-=整个人都不好了】 3.A的题略水一些 扔上题目和代码=-=
题1 冰岛
【问题描述】
假设你在一个n*n的冰面上,并且你想到达这个冰面的某处,可是由于冰面太滑了,所以当你向某个方向出发后,你没有办法使自己停下来直到你碰到了某个障碍物——因为你可以抓住障碍物使得你的身体停止运动。
因为你已经知道了整个地图,所以你决定在行动之前先计算出最快可到达目标的路线,使得你可以不用走太多冤枉路,这时你决定编程解决这个问题……
【输入格式】
第一行包括一个正整数n(n<=1000)
以下n行,每行包括n个数字(0或1),0表示该点为空地可以滑行,1表示该点为障碍物(障碍物无法穿过)。保证最外圈的地形为障碍物,也就是你无法离开这个地图。
接下来1行包括2个整数x,y(1<=x,y<=n),表示一开始你处于坐标(x,y)
再接下来1行包括2个整数x2,y2(1<=x2,y2<=n),表示你想要到达的目标为(x2,y2)
【输出格式】
只有一个整数t,表示能到达目标的最短时间(假设每经过一次滑行需要花费1单位的时间,无论这次滑行距离的长短)。所谓到达目标要求必须停留在(x2,y2),也就是你不能在到达之后被迫滑向下一个点。当你无法到达目标点时,你只须输出一行字符串’impossible’。
【输入样例1】
1 1 1 1 1
0 0 1 1
0 0 0 1
0 0 0 1
1 1 1 1
2
3
【输出样例1】
说明:由(2,2)到(2,3),再由(2,3)到(4,3),2次滑行到达终点。
【输入样例2】
1 1 1 1
0 1 1
1 0 1
1 1 1
2
3
【输出样例2】
impossible
【数据范围】
20%数据满足 n<=5
40%数据满足 n<=10
60%数据满足 n<=200
100%数据满足 n<=1000 题2 保送
【题目背景】
yk同学赫赫有名,为什么呢?因为他参加了若干竞赛,所以认识无数大朋友和小盆友。可是无数大朋友和小盆友也都认识他,为什么呢?因为yk同学实在是太牛了~ 我们甚至经常可以在路上听到同学之间的典型谈话:
小A:你认识yk吗?
小B:当然认识啦,就是那个XX竞赛班的大牛哇~
小A:他不光是XX竞赛班的神牛,还是XXX竞赛班的神牛呢~
小B:哦~~
然后小A小B一起无限膜拜中……
那么,yk同学到底神到什么地步呢?
世界上总共有N门竞赛,yk同学参加了全部,并且都能拿到保送!!运气好的时候呢,还能拿到一等奖!!怎么样,厉害吧~~
【题目描述】
现在有N门竞赛,yk同学对于不同学科有不同的概率拿到一等奖。现在yk想知道,他有多少的概率至少拿到M个一等奖。
【输入格式】promotion.in
第一行两个用空格隔开的正整数N,M
下面N行,每行一个0~1的实数,第i+1行的实数表示第i门科目得到一等奖的概率。
【输出格式】promotion.out
一行一个实数,表示至少得到M门一等奖的概率。实数保留六位小数。
【输入样例1】promotion.in
1
1
【输出样例1】
1.000000
【输入样例2】
1
0.046921
0.959868
0.008229
【输出样例2】
0.962066
【数据范围】
100% M<=N<=20 题3 任务分配
【问题描述】
图书馆按顺序排列有N本书需要维护,每本书的总页数不相同。现有M位员工。可以给每个员工分配连续的一段书籍,让他进行维护。现在的问题是,怎么样分配,工作任务最重(需要维护的页数最多)的人维护的页数尽量少。 【输入格式】
第一行两个数,N、M。接下来N行,每行一个整数,表示一本书的页数。 【输出格式】
任务最重的人最少需要维护的页数。 【输入样例】
3
2
1 【输出样例】 【数据范围】
20%数据:N<=1000
30%数据:N<=10000
100%数据::N<=100000,M<=N。一本书的页数最多10000。 题1 圆国旅行
【问题描述】
圆国是一个国家,它包含几个圆形地区。有些地区可能位于内其他地区,但其边界不相交或触摸。 Qatam是圆国的乡村居民。当他在两个地点之间旅行,他总是试图跨越过尽可能少的边界地区,因为跨越地区边界通常是费力的任务。
【输入】
输入文件名为country.in。有多组测试数据:
第一行,包含一个整数Num,表示测试数据的个数。(1<=Num<=10)
每组测试数据,第一行一个整数N,表示共有N个地区。1<=N<=50.
接下来三行,每行N个整数,前两行分别表示每个地区的x坐标和y坐标[-1000,1000],第三行表示该地区圆的半径r[1,1000]。
最后4个整数,分别表示Qatam的起点和目标点x1,y1,x2,y2[-1000,1000]。
【输出】
输出文件country.out共Num行,最少穿过的边界数目。
【输出输出样例】
country.in country.out 0
2
-5 1 5 1
0 -6 6
1 2
2 2
-5 1 5 1
1 -3 2 5 -4 12 12
-1 2 5 5 1 1
1 2 1 1 1 2
-5 1 12 1
-3 2 2 0 -4 12 12 12
-1 2 3 1 5 1 1 1
3 1 7 1 1 2 3
3 13 2
-107 -38 140 148 -198 172 -179 148 176 153 -56 -187
-115 23 -2 -49 -151 -52 42 0 68 109 -174
42 70 39 89 39 43 150 10 120 16 8
16 19 -108 0
3
3 题2 A-B
【问题描述】
出题是一件痛苦的事情!
题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的A+B Problem,改用A-B了哈哈!
好吧,题目是这样的:给出一串数以及一个数字C,要求计算出所有A-B=C的数对的个数。(不同位置的数字一样的数对算不同的数对)
【输入格式】
第一行包括2个非负整数N和C,中间用空格隔开。
第二行有N个整数,中间用空格隔开,作为要求处理的那串数。
【输出格式】
输出一行,表示该串数中包含的所有满足A-B=C的数对的个数。
【输入输出样例】
dec.in dec.out
1
1 2 3 3
【数据规模】
对于90%的数据,N <= 2000;
对于100%的数据,N <= 200000。
所有输入数据都在longint范围内。 题3 Couple Number
【问题描述】
任何一个整数N都能表示成另外两个整数a和b的平方差吗?如果能,那么这个数N就叫做Couple number。你的工作就是判断一个数N是不是Couple number。
【输入格式】
仅一行,两个长整型范围内的整数n1和n2,之间用1个空格隔开。
【输出格式】
输出在n1到n2范围内有多少个Couple number。
注意:包括n1和n2两个数,且n1<n2,n2 - n1 <= 10 000 000。
【输入样例】
10
【输出样例】
7
ice:
#include<cstdio>
#include<cstring>
using namespace std;
int dx[4]={0,0,1,-1},dy[4]={1,-1,0,0};
long long vis[1010][1010],d[2000001][3],n,h=1,w=1;
bool s[1010][1010];
void SPFA(int x,int y,int xx,int yy){
int t,l;
d[1][0]=x;d[1][1]=y;
vis[x][y]=0;
while(h<=w){
for(int i=0;i<4;i++){
t=d[h][0]+dx[i];
l=d[h][1]+dy[i];
if(s[t][l]) continue;
while(!s[t+dx[i]][l+dy[i]]){
t+=dx[i];
l+=dy[i];
}
if(x==t && y==l) continue;
if(vis[t][l]!=0) continue;
vis[t][l]=vis[d[h][0]][d[h][1]]+1;
w++;
d[w][0]=t;d[w][1]=l;
if(t==xx && l==yy) return;
}
h++;
}
}
int main()
{
int x,y,xx,yy;
freopen("ice.in","r",stdin);freopen("ice.out","w",stdout); memset(d,0,sizeof(d));
memset(vis,0,sizeof(vis));
scanf("%d",&n);
for (int i=1;i<=n;i++)
for (int j=1;j<=n;j++){
scanf("%d",&x);
s[i][j]=x;
}
scanf("%d%d",&x,&y);
scanf("%d%d",&xx,&yy);
SPFA(x,y,xx,yy);
if(vis[xx][yy]!=0) printf("%d\n",vis[xx][yy]);
else {
if(x==xx && y==yy) printf("0\n");
else printf("impossible\n");
}
return 0;
}
promotion:
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
double f[30][30],a[30],ans=0;
int n,m;
int main(){
freopen("promotion.in","r",stdin);freopen("promotion.out","w",stdout);
scanf("%d%d",&n,&m);
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++){
cin>>a[i];
}
f[0][0]=1;
for (int i=1;i<=n;i++)
{
f[i][0]=f[i-1][0]*(1-a[i]);
for (int j=1;j<=i;j++)
f[i][j]=f[i-1][j]*(1-a[i])+f[i-1][j-1]*a[i];
}
for (int i=m;i<=n;i++) ans+=f[n][i];
printf("%.6lf",ans); return 0;
}
book:
#include<cstdio>
#include<cstring>
using namespace std;
int a[100001],n,m;
bool check(int x){
int now=x,num=0;
for (int i=0;i<n;i++){
if (x<a[i]) return false;
if (now-a[i]<0){
now=x;
num++;
now-=a[i];
if (num==m) return false;
}
else
now-=a[i];
}
return true;
}
int main(){
int i,j,s,t,tot=0;
//freopen("book.in","r",stdin);freopen("book.out","w",stdout); scanf("%d%d",&n,&m);
for (i=0;i<n;i++){
scanf("%d",&a[i]);
tot+=a[i];
}
int r=tot,l=0;
while (l<=r){
int mid=(l+r)>>1;
if(check(mid)) r=mid-1;
else l=mid+1;
}
printf("%d",l);
return 0;
}
country:
#include<cstdio>
#include<cstring>
using namespace std;
int n,m,x[501],y[501],r[501],print[501],fx,fy,ex,ey,min,t;
void check(int x,int y,int r,int a,int b){
if((x-a)*(x-a)+(y-b)*(y-b)<r*r){
min++;++t;
}
}
int main(){
freopen("country.in","r",stdin);freopen("country.out","w",stdout);
scanf("%d",&n);
for(int i=0;i<n;i++){
min=0;
memset(x,0,sizeof(x));
memset(y,0,sizeof(y));
memset(r,0,sizeof(r));
scanf("%d",&m);
for(int j=0;j<m;j++) scanf("%d",&x[j]);
for(int j=0;j<m;j++) scanf("%d",&y[j]);
for(int j=0;j<m;j++) scanf("%d",&r[j]);
scanf("%d%d%d%d",&fx,&fy,&ex,&ey);
for(int k=0;k<m;k++){
t=0;
check(x[k],y[k],r[k],fx,fy);
check(x[k],y[k],r[k],ex,ey);
if(t==2) min-=2;
}
print[i]=min;
}
for(int i=0;i<n;i++) printf("%d\n",print[i]);
return 0;
}
dec:
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=2000001;
long long a[MAXN],num[MAXN],n,ans=0,c,l,r,mid;
int main(){
freopen("dec.in","r",stdin);
freopen("dec.out","w",stdout);
scanf("%d%d",&n,&c);
memset(num,0,sizeof(num));
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
num[a[i]]++;
}
sort(a,a+n);
for(int i=1;i<n;i++){
l=1;r=i-1;
while(l<=r){
mid=(l+r)>>1;
if(a[i]-a[mid]>c) l=mid+1;
else{
if(a[i]-a[mid]<c) r=mid-1;
else{
ans=ans+num[a[mid]];
break;
}}}} printf("%d",ans);
return 0;
}
couple
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace std;
long long n,m,ans=0;
int main(){
freopen("couple.in","r",stdin);
freopen("couple.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=n;i<=m;i++){
if(i%4==0 || i%2!=0) ans++;
}
printf("%d",ans);
return 0;
}
2013.2.A&&3.A的更多相关文章
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- SharePoint 2013: A feature with ID has already been installed in this farm
使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...
- Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目
默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...
- SharePoint 2013 create workflow by SharePoint Designer 2013
这篇文章主要基于上一篇http://www.cnblogs.com/qindy/p/6242714.html的基础上,create a sample workflow by SharePoint De ...
- Install and Configure SharePoint 2013 Workflow
这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...
- SharePoint 2013 configure and publish infopth
This article will simply descript how to configure and publish a InfoPath step by step. Note: To con ...
- TFS 2013 培训视频
最近给某企业培训了完整的 TFS 2013 系列课程,一共四天. 下面是该课程的内容安排: 项目管理 建立项目 成员的维护 Backlog 定义 任务拆分 迭代 ...
- Visual Studio 2013 Ultimate因为CodeLens功能导致Microsoft.Alm.Shared.Remoting.RemoteContainer.dll高CPU占用率的折中解决方案
1.为什么Microsoft.Alm.Shared.Remoting.RemoteContainer.dll的CPU占用率以及内存使用率会那么高? 在Visual Studio 2013 Ultima ...
- 沙盒解决方案解决SharePoint 2013 以其他身份登陆的问题
众所周知,SharePoint 2013没有像SharePoint 2010那样有一个叫"以其他身份登录"的菜单项. 当然解决方案也很多,比如你可以直接修改Welcome.ascx ...
- 实现一个基于 SharePoint 2013 的 Timecard 应用(中)
门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...
随机推荐
- 面向对象三大特征之多态——Java笔记(七)
多态: 同一个实体同时具有多种形式 编译时的类型有声明该变量时使用的类型决定,运行时的类型有实际赋值给变量的对象决定 如果编译时类型和运行时类型不同,就出现多态 例: clas ...
- C语言学习_查找三分之二
查找三分之二: #include <stdio.h> #define M 10 int main(void) { int front, near, mid1, mid2; int n; i ...
- 读取上传的CSV为DataTable
csv导入文件会把每列的数据用英文逗号分割开来,如果遇到某列中包含英文逗号,则会把该列用英文双引号进行包装. 如果csv文件中某列的数据本身包含英文逗号,应该使用读取字符串的方式进行解析数据,如csv ...
- js敏感词过滤
var filterWord={ words:"", tblRoot:{}, //敏感词文件 file:"sensitiveWords.txt", //载入敏感 ...
- Apache conf文件配置个人总结
其实说到conf文件的配置,网上那必定是大堆大堆的,故今儿写着篇小博文,也只是做个总结,至于分享的价值吗,如果对屏幕前的你有用,我也很乐意啦. 首先,我们要找到Apache安装目录,我的是Ap ...
- django中通过model名字获取model
django1.6, 通过字符串和get_app.get_model获得对应的object 只需要两行代码: from django.db.models import get_model get_mo ...
- 2014牡丹江区域赛H(特里)ZOJ3826
Hierarchical Notation Time Limit: 2 Seconds Memory Limit: 131072 KB In Marjar University, stude ...
- [WPF]程序全屏
原文:[WPF]程序全屏 代码: 使用:
- java程序连接MongoDB副本集测试
三个节点有一个节点挂掉也不会影响应用程序客户端对整个副本集的读写! public class TestMongoDBReplSet { public static void main(String[] ...
- javascript 验证 yyyy-MM-dd HH:mm:ss 的正则表达式
原文:javascript 验证 yyyy-MM-dd HH:mm:ss 的正则表达式 ^((\d{2}(([02468][048])|([13579][26]))[\-\/\s]?((((0?[13 ...