Educational Codeforces Round 1

被C坑的不行不行的。。。其他题目都还可以。

A - Tricky Sum

求1,2,3,...,n的加和,其中2^x(x>=0)为负。

因为2^x的个数很少,所以以每个2^x为分界点进行判断.

初始化x=0;

如果n>2^x,求出2^(x-1)到2^(x)之间的加和,用等差数列求和公式即可,然后x++,

如果n<=2^x,求出2^(x-1)到n之间的加和,然后结束.

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
using namespace std;int main(int argc, const char * argv[]) {// insert code here...int T;scanf("%d",&T);while (T--) {int n;scanf( "%d",&n);long long tmp=1;long long sum=0;while(tmp<=n){if( tmp-1 >= tmp/2+1 ){sum += (tmp+tmp/2)*(tmp-tmp/2-1)/2;}sum -= tmp;tmp*=2;}sum += (tmp/2+1+n)*(n-tmp/2)/2;cout<<sum<<endl;}return 0;
}
A

(感触:以后写等差数列求和时写个函数,方便些)

B - Queries on a String

看懂题目,模拟即可。

#include <iostream>
#include <stdio.h>
#include <string>
#include <string.h>
using namespace std;char str[2][10100];int main(int argc, const char * argv[]) {// insert code here...scanf("%s",str[0]);int m;scanf("%d",&m);int a=0,b=1;for (int i=0;i<m; i++) {int l,r,k;scanf("%d%d%d",&l,&r,&k);l--;r--;int tlen=(r-l+1);k%=tlen;strcpy(str[b],str[a]);for(int j=l;j<=r;j++){str[b][l+ (j-l+k)%tlen ]=str[a][j];}swap(a,b);//printf("%s\n",str[a]);
    }printf("%s\n",str[a]);return 0;
}
B

C - Nearest vectors

这题可以看这里,里面有我写这题的崎岖之路。

D - Igor In the Museum

很裸的BFS。 不同的是,到一个格点,搜索一下周围四个方向上墙的个数。

#include <iostream>
#include <stdio.h>
#include <string>
#include <math.h>
#include <algorithm>
#include <string.h>
using namespace std;int n,m,k;
char g[1010][1010];
int mark[1010][1010];
int id;struct node
{int x,y;
}que[1001000];int qf,qd;
int save[1001000];
int up[4]={1,-1,0,0};
int rl[4]={0,0,1,-1};void bfs(int x,int y)
{qf=qd=0;node fi;fi.x=x;fi.y=y;int cnt=0;que[qf++]=fi;mark[x][y]=id;while(qf>qd){node cur=que[qd++];for(int i=0;i<4;i++){int tx=cur.x+up[i];int ty=cur.y+rl[i];if( tx>=0&&tx<n &&ty>=0&&ty<m ){if(g[tx][ty]=='.'&&mark[tx][ty]==-1 ){mark[tx][ty]=id;node newnode;newnode.x=tx;newnode.y=ty;que[qf++]=newnode;}else if(g[tx][ty]=='*') cnt++;}}}save[id]=cnt;id++;
}int main(int argc, const char * argv[]) {// insert code here...scanf("%d%d%d",&n,&m,&k);for(int i=0;i<n;i++)scanf("%s",g[i]);id=0;memset(mark,-1,sizeof(mark));for(int i=0;i<n;i++)for(int j=0;j<m;j++){if( mark[i][j] ==-1 && g[i][j] == '.' ){bfs(i,j);}}for(int i=0;i<k;i++){int x,y;scanf("%d%d",&x,&y);x--;y--;printf("%d\n",save[ mark[x][y] ]);}return 0;
}
D

E - Chocolate Bar

DP.

状态:

dp[i][j][k] 表示高为i,宽为j的巧克力被分成能拼成k的最小花费。

转移:

考虑每一种横着切和竖着切的情况。具体看代码。

 

#include <iostream>
#include <stdio.h>
#include <string>
#include <math.h>
#include <algorithm>
#include <string.h>
using namespace std;
#define INF 100000000
int dp[33][33][55];int main(int argc, const char * argv[]) {dp[1][1][1]=0;memset(dp,0,sizeof(dp));for(int i=1;i<=30;i++)for(int j=1;j<=30;j++)for(int k=1;k<=50;k++)dp[i][j][k]=INF;dp[1][1][1]=0;for(int i=1;i<=30;i++)for(int j=1;j<=30;j++){if(i==j&&i==1) continue;for(int k=1;k<=min(i*j,50);k++){if(i*j==k){dp[i][j][k]=0;continue;}int mi=INF;for(int i1=1;i1<i;i1++){if( i1*j <= k) mi=min(mi,dp[(i-i1)][j][k-i1*j]+j*j);if( (i-i1)*j <= k ) mi=min(mi,dp[i1][j][k-(i-i1)*j]+j*j);if( i1*j >= k) mi=min(mi,dp[i1][j][k]+j*j);if( (i-i1)*j >=k ) mi=min(mi,dp[i-i1][j][k]+j*j);}for(int j1=1;j1<j;j1++){if( j1*i <= k ) mi=min(mi,dp[i][j-j1][k-j1*i]+i*i);if( (j-j1)*i <=k ) mi=min(mi,dp[i][j1][k-(j-j1)*i]+i*i);if( j1*i >= k) mi=min(mi,dp[i][j1][k]+i*i);if( (j-j1)*i >=k ) mi=min(mi,dp[i][j-j1][k]+i*i);}//有四种情况
                dp[i][j][k]=mi;}}int n;scanf("%d",&n);while(n--){int x,y,z;scanf("%d%d%d",&x,&y,&z);printf("%d\n",dp[x][y][z]);}return 0;
}
E

 

转载于:https://www.cnblogs.com/chenhuan001/p/4963944.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/289914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

甲骨文严查Java授权,企业连夜删除JDK

文 | Travis出品 | OSC开源社区&#xff08;ID&#xff1a;oschina2013)根据外媒 The Register 报道和各大企业的反馈&#xff0c;甲骨文公司近日已经开始将 Java 纳入其软件许可审查中&#xff0c;目的是找出那些处于不合规边缘或已经违规的客户&#xff0c;甲骨文此举是为了推…

前端日志分析

前端日志分析介绍 前端日志分析是通过搜集访客访问网站的行为数据&#xff0c;然后在这些用户日志数据的基础上通过定量和定性分析&#xff0c;来改善用户的浏览体验及网站性能&#xff0c;最终提升商业回报的过程&#xff0c;通常&#xff0c;前端日志分析遵循以下步骤…

zuul转发的一些常见异常

为什么80%的码农都做不了架构师&#xff1f;>>> ##序 使用zuul作为api网关的话&#xff0c;经常会碰见一些异常&#xff0c;这里小结一下。 ##ZuulException 这个是最外层的异常 public class ZuulException extends Exception {public int nStatusCode;public Str…

Xamarin效果第八篇之视频监控

还记得全年帮助一个朋友通过技术手段写了一个PC端的监控软件,这不再次想起此事,准备基于Xamarin再来实现一个移动端的监控;毕竟直接手机上打开还是比较方便的;最终实现的效果:1、启动页动画,原来直接贴图片;这次尝试使用Lottie来玩玩,直接贴参考连接https://www.codesitory.com…

前端实现连连看小游戏(1)

博主玩了这么久的连连看&#xff0c;居然是第一次发现&#xff0c;连连看最多只能有2个转弯。orz… 在网上搜索连连看的连线算法判断&#xff0c;并没有找到很全面的&#xff0c;经过自己摸索之后&#xff0c;做了一些小动画&#xff0c;希望大家可以看一遍都懂啦&#xff5e;&…

在 Visual Studio 2010 中创建 ASP.Net Web Service

第一步&#xff1a;创建一个“ASP.Net Empty Web Application”项目 第二步&#xff1a;在项目中添加“Web Service”新项目 第一步之后&#xff0c;Visual Studio 2010会创建一个仅含一个站点配制文件&#xff08;Web.config&#xff09;的空站点&#xff0c;其余的什么也没有…

C#中缓存的使用

简介缓存是指可以进行高速数据交换的存储器&#xff0c;它先于内存与CPU交换数据&#xff0c;因此速率很快。由于CPU从内存中读取数据的速度比从磁盘读取快几个数量级&#xff0c;并且存在内存中&#xff0c;减小了数据库访问的压力&#xff0c; 所以缓存几乎每个项目都会用到。…

Windows Phone 8开发环境搭建介绍

1. 如果是Windows 8系统中安装VS2012&#xff0c;可以直接安装&#xff1a;   Windows Phone SDK 8.0 是一个功能齐全的开发环境&#xff0c;可用于构建 Windows Phone 8.0 和 Windows Phone 7.5 的应用和游戏。 Windows Phone SDK 将提供一个适用于 Windows Phone 的独立 Vi…

Tushare数据的绘图操作

1.在代码里调试学习实在费劲&#xff0c;可以把数据取到df里&#xff0c;在交互界面里慢慢调试 2.柱状图 绘制柱状图&#xff0c;默认情况下乱&#xff0c;数据太密了 改用曲线图

python远程执行shell 防止注入脚本_解决 window 上python远程执行shell paramiko 下令 Permission denied...

1. 若是程序是在 Linux远程执行 , 那么遇到某些下令是不需要 再输入密码的但若是 python 是在内陆 , 用 paramiko包 远程ssh登录执行下令 , 就会遇到需要输入密码2.解决办法 , 在windows上面 ssh-keygen -t rsa -C “abby192.168.1.100” , 公钥的作用域是远程 IP用户名 为’…

MT3608 高效率1.2MHz2A升压转换器和MT3608L 高效率1.2MHz 2.5A升压转换器 MT3608L和MT3608的区别

MT3608是一个恒定的频率&#xff0c;6引脚SOT23电流模式升压转换器的小&#xff0c;低功耗应用的目的。该MT3608开关在1.2MHz&#xff0c;并允许微小的&#xff0c;低成本的电容器和电感器使用2毫米或更小的高度内部软启动浪涌电流的结果&#xff0c;并延长电池寿命。 …

CityEngine 2012与ArcGIS 10.2破解心得

安装及破解步骤&#xff1a; 1.卸载机子上原有的ArcGIS的License以及Desktop。 2.安装及破解CityEngine。&#xff08;安装包及注册码下载见点击打开链接&#xff09; 3.安装ArcGIS Desktop即可&#xff0c;不需要安装Lisence。 4.如果第三步结束后ArcGIS打不开&#xff0c…

JsonRequestBehavior.AllowGet 方便浏览器调试

[HttpGet]public ActionResult getCoversationList(int CustomerId){// 获取用户相关的聊天数据&#xff0c;包括个人&#xff0c;群&#xff0c;系统(可以单独获取)return Json(new { result true, info "", msg "操作成功" }, JsonRequestBehavior.Al…

基于.NET6的开源工业物联网网关

什么是工业物联网网关工业物联网网关&#xff08;IIoTGateway&#xff09;是一种硬件设备或软件程序&#xff0c;作为本地设备(如PLC、扫码枪、机器人、数控机床、非标上位机等)与云端系统(如物联网平台、SCADA系统、MES系统等)之间的桥梁&#xff0c;在设备和云端之间流动的所…

CityEngine生成不等间距桥墩

在CityEngine中建立高架桥时自动生成的桥墩属于几乎等距的桥墩&#xff0c;对于不等距的桥墩该如何处理&#xff1f;另外&#xff0c;等距桥墩会有产生很多问题&#xff0c;比如&#xff1a;桥墩会压盖在下方路面上。 解决思路&#xff1a;获取桥墩点位数据&#xff0c;之后使用…

keepalived 报错 Popt libraries is required

2019独角兽企业重金招聘Python工程师标准>>> …… checking for SSL_CTX_new in -lssl... yes checking for poptGetContext in -lpopt... no configure: error: Popt libraries is required 解决办法 yum install popt-devel -y 转载于:https://my.oschina.net/col…

芒果TV会员,月卡最低9.9元,年卡最低128元!

全国首部湘商题材电视剧《一代洪商》&#xff0c;将于3月27日在央视八套&#xff08;电视剧频道&#xff09;播出&#xff0c;芒果TV将线上播出。该剧由王少华编剧&#xff0c;路奇担纲导演&#xff0c;孟凡耀担任总制片人&#xff0c;张丰毅、李立群、张睿、张含韵等人主演&am…

CityEngine如何生成隧道

在我们的生活中&#xff0c;大家经常乘坐汽车、动车等交通工具&#xff0c;会经过如隧道这样的路段&#xff0c;也许大家在经过隧道的时候会有一种疑惑&#xff0c;这隧道是如何修建的&#xff1f;对于我们GISer来讲&#xff0c;可能会考虑如何将其数字化&#xff0c;是以二维的…

Flask 应用的文件结构

2019独角兽企业重金招聘Python工程师标准>>> 作为微框架&#xff0c;即便只有一个文件也可以编写基于 Flask 的 Web 应用。然而对于许多现实世界中的应用&#xff0c;拥有数十个以上的视图&#xff08;view&#xff09;是非常正常的&#xff0c;这时候&#xff0c;F…

Xamarin效果第十二篇之控制祖传PLC

在前面使用DllImport去调用了公司祖传的PLC;坑也被坑了一下,但是总感觉还是基于祖传的Dll木有一点意思;毕竟就是一个数据的监控和开关量的控制;要是直接能用我的屌丝机控制一下就可以好好开(Z)心(B);毕竟前面咱也是玩过一点点Xamarin的,那就再次拾起来去玩耍一下吧;来看看最终咱…