半期考之后,磨磨蹭蹭的刷了两套长乐的模拟题【=-=我现在实在是不敢恭维自己的刷题速度】
感觉貌似很久没有来这里喂食了,就顺便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的更多相关文章

  1. 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 ...

  2. SharePoint 2013: A feature with ID has already been installed in this farm

    使用Visual Studio 2013创建一个可视web 部件,当右击项目选择"部署"时报错: "Error occurred in deployment step ' ...

  3. Visual Studio 2013 添加一般应用程序(.ashx)文件到SharePoint项目

    默认,在用vs2013开发SharePoint项目时,vs没有提供一般应用程序(.ashx)的项目模板,本文解决此问题. 以管理员身份启动vs2013,创建一个"SharePoint 201 ...

  4. SharePoint 2013 create workflow by SharePoint Designer 2013

    这篇文章主要基于上一篇http://www.cnblogs.com/qindy/p/6242714.html的基础上,create a sample workflow by SharePoint De ...

  5. Install and Configure SharePoint 2013 Workflow

    这篇文章主要briefly introduce the Install and configure SharePoint 2013 Workflow. Microsoft 推出了新的Workflow ...

  6. SharePoint 2013 configure and publish infopth

    This article will simply descript how to configure and publish a InfoPath step by step. Note: To con ...

  7. TFS 2013 培训视频

    最近给某企业培训了完整的 TFS 2013 系列课程,一共四天. 下面是该课程的内容安排: 项目管理     建立项目     成员的维护     Backlog 定义     任务拆分     迭代 ...

  8. Visual Studio 2013 Ultimate因为CodeLens功能导致Microsoft.Alm.Shared.Remoting.RemoteContainer.dll高CPU占用率的折中解决方案

    1.为什么Microsoft.Alm.Shared.Remoting.RemoteContainer.dll的CPU占用率以及内存使用率会那么高? 在Visual Studio 2013 Ultima ...

  9. 沙盒解决方案解决SharePoint 2013 以其他身份登陆的问题

    众所周知,SharePoint 2013没有像SharePoint 2010那样有一个叫"以其他身份登录"的菜单项. 当然解决方案也很多,比如你可以直接修改Welcome.ascx ...

  10. 实现一个基于 SharePoint 2013 的 Timecard 应用(中)

    门户视图 随着 Timecard 列表的增多,如何查找和管理这许多的 Timecard 也就成了问题.尤其对于团队经理而言,他除了自己填写的 Timecard,还要审核团队成员的 Timecard 任 ...

随机推荐

  1. 计蒜客 作弊揭发者(string的应用)

    鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库 ...

  2. C# 跨线程呼叫控制

    在C# 应用程序开发, 我们经常要UI作线程分开,防止界面停止响应.  同一时候我们又须要在工作线程中更新UI界面上的控件, 以下介绍几种经常使用的方法 阅读文件夹 线程间操作无效 第一种办法:禁止编 ...

  3. uva 11354 - Bond(树链拆分)

    题目链接:uva 11354 - Bond 题目大意:给定一张图.每次询问两个节点路径上进过边的危急值的最大值的最小值. 解题思路:首先建立最小生成数,然后依据这棵树做树链剖分. #include & ...

  4. Studio-Class Diagram

    UML Design Via Visual Studio-Class Diagram 用过几个建模设计工具,小的有staruml,大的有rational rose,EA.最后发现还是Visual St ...

  5. JavaScript & XML

    原文:JavaScript & XML 检测浏览器能力特性 //检测浏览器是否支持DOM2级XML var hasXmlDom = document.implementation.hasFea ...

  6. 编译 & 预处理

    编译(compilation , compile) 1.利用编译程序从源语言编写的源程序产生目标程序的过程. 2.用编译程序产生目标程序的动作. 编译就是把高级语言变成计算机可以识别的2进制语言,计算 ...

  7. c# 文件同步服务器,iis 集群 ,代码同步(二)

    打算自己做一个 集群 代码同步软件. 基于Socket 和 FileSystemWatcher .

  8. nginx的五种负载算法模式

    nginx 负载均衡5种配置方式 1.轮询(默认) 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除. 2.weight  指定轮询几率,weight和访问比率成正比 ...

  9. RESTful API的设计原则

    好RESTful API的设计原则   说在前面,这篇文章是无意中发现的,因为感觉写的很好,所以翻译了一下.由于英文水平有限,难免有出错的地方,请看官理解一下.翻译和校正文章花了我大约2周的业余时间, ...

  10. canvas绘制自定义的曲线,以椭圆为例,通俗易懂,童叟无欺

    本篇文章,将讲述如何通过自定义的曲线函数,使用canvas的方式进行曲线的绘制. 为了通俗易懂,将以大家熟悉的椭圆曲线为例,进行椭圆的绘制.至于其他比较复杂的曲线,用户只需通过数学方式建立起曲线函数, ...