题1 高低位交换
【问题描述】
给出一个小于2^32的正整数。这个数可以用一个32位的二进制数表示(不足32位用0补足)。我们称这个二进制数的前16位为“高位”,后16位为“低位”。将它的高低位交换,我们可以得到一个新的数。试问这个新的数是多少(用十进制表示)。
例如,数1314520用二进制表示为0000 0000 0001 0100 0000 1110 1101 1000(添加了11个前导0补足为32位),其中前16位为高位,即0000 0000 0001 0100;后16位为低位,即0000 1110 1101 1000。将它的高低位进行交换,我们得到了一个新的二进制数0000 1110 1101 1000 0000 0000 0001 0100。它即是十进制的249036820。 【输入数据】
读入一个小于2^32的正整数。 【输出数据】
新的数。 【样例输入】
1314520 【样例输出】
249036820
T1:纯模拟
#include<cstdio>
#include<cstring>
using namespace std;
int f[33],n,a[33],i=1;
long long ans=1,sum=0;
void exchange(int x){
int r;
while(x>0){
r=x%2;
x/=2;
f[i]=r;
i++;
}
}
void change(){
for(int x=1;x<=32;x++){ if(a[x]==1) sum+=ans;ans*=2;
}
}
int main(){
freopen("swap.in","r",stdin);
freopen("swap.out","w",stdout);
memset(f,0,sizeof(f));
memset(a,0,sizeof(a));
scanf("%d",&n);
exchange(n);
for(int j=16;j>0;j--){
a[j]=f[j+16];
a[j+16]=f[j];
}
change();
printf("%lld",sum);
return 0;
}
  T2:
题2数列排序
【问题描述】
给定一个数列{an},这个数列满足ai≠aj(i≠j),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换?
【输入格式】
第一行,正整数n (n<=100,000)。
以下若干行,一共n个数,用空格分隔开,表示数列{an},任意-231<ai<231。
【输出格式】
只有一行,包含一个数,表示最少的交换次数。
【输入样例】
8
8 23 4 16 77 -5 53 100
【输出样例】
5
  写这一题收获还是不少的,首先依旧表示自己打的题太少了,这样类型的题目没有碰到过40都看不下去了....TAT..
这是一题图论题,要找环
就比如
4
3 7 6 1
你sort一下,排好正确的顺序
1 3 6 7
发现,原序列的3应该和7交换,而7应该和1交换,1应该和3交换;
那么就恭喜你找到了最少的交换次数,2次,这也就是说找环的次数就为最少交换的次数;
ps:这里说一下自己年轻的地方:
1.交换过得数记得mark
2.刚开始超级年轻的这样记录每一个数正确的位置:
d[a[i]]=i;
之后崩溃掉了,喜闻乐见。
一直忘了数组的序号是不能为负的,逗了....这里用自定义即可;
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int a[100010],d[100010],i;
bool f[100010];
long long ans=0,k=0;
struct node
{
int b,c;
bool operator <(const node & a)const{
return b<a.b;
}
} B[100001];
void find(int x){
int m=x;
if(B[i].b==a[x])
return;
else{
if(f[x]==true){
x=d[x];
f[m]=false;
ans++;
find(x);
}}
f[x]=false;
}
int main(){
freopen("seqsort.in","r",stdin);freopen("seqsort.out","w",stdout);
int n,t;
scanf("%d",&n);
memset(f,true,sizeof(f));
for(i=1;i<=n;i++){
scanf("%d",&a[i]);
B[i].b=a[i];
B[i].c=i;
}
sort(B+1,B+n+1);
for(i=1;i<=n;i++){
d[B[i].c]=i;
}
for(i=1;i<=n;i++){
ans=0;
if(f[B[i].c]==true) find(i);
k+=ans;
}
printf("%d",k);
fclose(stdin);fclose(stdout);
return 0;
}

  


T3:
题3 路标设置
【问题描述】
B市和T市之间有一条长长的高速公路,这条公路的某些地方设有路标,但是大家都感觉路标设得太少了,相邻两个路标之间往往隔着相当长的一段距离。为了便于研究这个问题,我们把公路上相邻路标的最大距离定义为该公路的“空旷指数”。现在政府决定在公路上增设一些路标,使得公路的“空旷指数”最小。他们请求你设计一个程序计算能达到的最小值是多少。
请注意,公路的起点和终点保证已设有路标,公路的长度为整数,并且原有路标和新设路标都必须距起点整数个单位距离。
【输入格式】
第1行包括三个数L、N、K,分别表示公路的长度,原有路标的数量,以及最多可增设的路标数量。
第2行包括递增排列的N个整数,分别表示原有的N个路标的位置。路标的位置用距起点的距离表示,且一定位于区间[0,L]内。
【输出格式】
输出1行,包含一个整数,表示增设路标后能达到的最小“空旷指数”值。 【输入样例】road.in
101 2 1
0 101
【输出样例】road.out
51
【样例说明】
公路原来只在起点和终点处有两个路标,现在允许新增一个路标,应该把新路标设在距起点50或51个单位距离处,这样能达到最小的空旷指数51。 【数据规模与约定】
50%的数据中,2 ≤ N ≤100,0 ≤K ≤100
100%的数据中,2 ≤N ≤100000, 0 ≤K ≤100000
100%的数据中,0 < L ≤10000000
  二分答案即可...
=-=还是很不熟练啊...
#include<cstdio>
#include<cstring>
using namespace std;
int a[100001],l,n,k,d=0;
int judge(int x){
int now=0;
for(int i=1;i<n;i++){
if(a[i]%x==0) now+=a[i]/x-1;
else now+=a[i]/x;
}
if(now<=k) return 1; else return 0;
}
int main(){
freopen("road.in","r",stdin);
freopen("road.out","w",stdout);
scanf("%d%d%d",&l,&n,&k);
scanf("%d",&a[1]);
for(int i=2;i<=n;i++){
scanf("%d",&a[i]);
}
for(int i=1;i<n;i++) a[i]=a[i+1]-a[i];
int ll=1,r=l,t,mid;
while(ll!=r){
mid=(r+ll)>>1;
if(judge(mid)) r=mid;
else ll=mid+1;
}
printf("%d",ll);
return 0;
}
 T4树形DP,想之后单独附上

2013.5.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. MySQL进口.sql文件和常用命令

    MySQL进口.sql文件和常用命令 在MySQL Qurey   Brower中直接导入*.sql脚本,是不能一次运行多条sql命令的.在mysql中运行sql文件的命令: mysql> so ...

  2. javascript之Style物

    Background 属性 属性                                 描写叙述 background                      在一行中设置全部的背景属性 ...

  3. Linux 解决文件删除,但并没有改变磁盘可用性

    昨天收到zabbix警报邮件,有一个server的 /home 文件夹的使用达成90%以上.检查,发现MongoDB数据文件到这个文件夹.高.而这个MongoDB的数据如今又都不用了.于是就直接把它的 ...

  4. utf8 和 UTF-8 在使用中的差别

    在使用中经常遇到utf-8和utf8,如今最终弄明确他们的使用不同之处了,如今来和大家分享一下,以下我们看一下utf8 和 UTF-8 有什么差别  "UTF-8"是标准写法,ph ...

  5. 圣魔大战3(Castle Fantisia)艾伦希亚战记改动器/秘籍——究极改动大法

    艾伦西亚战记== 艾伦希亚战记,是一个游戏 武器:UltraEdit(金山游侠自带的文件改动器也能够,仅仅是这个专业) 目标: 存档文件(建议先备份)  知识:save00.dat-save19.da ...

  6. UITabBarControler解决旋转问题

    在遇到开发项目中播放视频,播放视频回列表后,,列表 NavigationController 里边, NavigationController 在 UItabBarController 里边,不要旋转 ...

  7. Hadoop群集设置

    Hadoop群集设置 近期特别看了Hadoop的资料.感觉特别好,整理一下发在自己的博客上,希望对想了解集群的网友有所帮助. 參考资料:http://hadoop.apache.org/docs/r1 ...

  8. JAVA进阶-注解

    注解元数据分为4部分分别为Target,Documented,Inherited,Retention: Target>指定被注解的注解仅仅能使用在某个类型上;ElementType指定其类型:能 ...

  9. IplImage 封装释放

    IplImage是openCV库中非常重要的一个结构体,库中的图像都是保存为这个结构体后再进行操作的,详细结构例如以下: </pre><pre> typedef struct ...

  10. 收集的VS2013的使用小技巧( 不断总结中)

    对于经常使用vs的朋友,如果能用键盘直接做的事,还是键盘更便捷点,现在我就把自己遇到的一些给写下来. 1.对一个函数的说明 先写一个函数,以及参数,完成后,在函数上输入///,vs会自动补全说明的信息 ...