半期考之后,磨磨蹭蹭的刷了两套长乐的模拟题【=-=我现在实在是不敢恭维自己的刷题速度】
感觉貌似很久没有来这里喂食了,就顺便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. Drupal 7.31 SQL注射分析POC

    此漏洞昨日爆发 ,我们有时间去看看今天的代码. 于Drupal于,跑sql声明使用PDO型号,这是一般能够避免大部分的注射,由于使用占位符的sql语法语句是限制. 但是,这并不意味着绝对安全,. 在D ...

  2. 140724夏训.txt

    1.同余定理    (a+b)%c==(a%c+b%c)%c    (a*b)%c==[(a%c)*(b%c)]%c          由于有的数在int范围内,可是两个的乘积却超过了int范围,这样 ...

  3. C#操作Xml:XSLT语法 在.net中使用XSLT转换xml文档示例

    XSL即可扩展的样式表文件. 可以格式化xml的显示,也可以将xml转换成需要的另一种格式. 学习XSL必须熟悉XPath.XSL和XPath一样简单强大,容易学习. 1. XSL既然可以格式化xml ...

  4. C#关于HttpClient的应用(一):获取IP所在的地理位置信息

    public class IpHttpClient:BaseHttpClient { private String appKey; private const string HOST_PATH = & ...

  5. 【百度地图API】百度API卫星图使用方法和卫星图对比工具

    原文:[百度地图API]百度API卫星图使用方法和卫星图对比工具 百度地图API推出卫星图接口也有一个月啦~ 本文除了介绍如何使用百度地图API来操作卫星图外,还顺带制作了个卫星图对比工具. 一.百度 ...

  6. 【百度地图API】建立全国银行位置查询系统(二)——怎样为地图添加控件

    原文:[百度地图API]建立全国银行位置查询系统(二)--怎样为地图添加控件 <摘要>你将在第二章中学会以下知识: 使用手写代码的利器——notepad++: 如何为地图添加控件——鱼骨. ...

  7. 左右lcm,gcd一些性质

    两个整数a,b  他们的最大公约数为n  最小公倍数为m  则有 a,b都能分解为有限个素数的积               12 = 2^2 * 3^1 * 5^0 , 30 = 2^1 * 3^1 ...

  8. Ionic项目中使用极光推送-android

    对于Ionic项目中使用消息推送服务,Ionic官方提供了ngCordova项目,这个里面的提供了用angularjs封装好的消息推送服务(官方文档),使用的是GitHub上的 PushPlugin ...

  9. Cocos2d-x 2.3.3版本 FlappyBird

    Cocos2d-x 2.3.3版本 FlappyBird   本篇博客基于Cocos2d-x 2.3.3, 介绍怎样开发一款之前非常火的一款游戏FlappyBird.本篇博客内容大纲例如以下:   1 ...

  10. June本地环境搭建

    python-china.org论坛使用的June程序就是这货了,使用了Python Flask + SQLite + Node.js 的轻论坛,以后就打算拿这个学习了,如果可能,进行二次开发. Gi ...