USACO2.2【统计,dp,模拟,位运算】

正题


T1:序言页码 PrefaceNumberingPreface NumberingPrefaceNumbering

评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1465


题目大意

1∼n1\sim n1n的罗马数字每个字母出现的次数。


解题思路

先写一个表,表示这个位上出现哪个数字表示10n10n10n的字母出现次数和表示5∗10n5*10n510n的字母出现的次数。
然后直接计算


code

#include<cstdio>
#include<string>
using namespace std;
const char f[8]={' ','I','V','X','L','C','D','M'};
const int I[11]={0,1,2,3,1,0,1,2,3,1};
const int V[11]={0,0,0,0,1,1,1,1,1,0};
int n,c[8];
int main()
{scanf("%d",&n);for(int i=1;i<=n;i++){c[1]+=I[i%10];c[2]+=V[i%10];c[3]+=I[i%100/10]+(i%10==9);c[4]+=V[i%100/10];c[5]+=I[i%1000/100]+(i%100/10==9);c[6]+=V[i%1000/100];c[7]+=I[i/1000]+(i%1000/100==9);}for(int i=1;i<=7;i++)if(c[i]) printf("%c %d\n",f[i],c[i]);
}

T2:集合 SubsetSumsSubset SumsSubsetSums

评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1466


题目大意

求将1∼n1\sim n1n分解为两组且两组之和相等的方案数。


解题思路

fi,jf_{i,j}fi,j表示前i个数,两组相差为j时的方案总数。
然后
fi,j=fi,∣j−i∣+fi,j+if_{i,j}=f_{i,|j-i|}+f_{i,j+i}fi,j=fi,ji+fi,j+i
然后得出的答案要除2,因为两组是一样的。


code

#include<cstdio>
#include<algorithm>
#define ll long long
using namespace std;
ll n,sum,f[40][801];
int main()
{scanf("%lld",&n);sum=0;f[0][0]=1;for(ll i=1;i<=n;i++){sum+=i;for(ll j=0;j<=sum;j++){f[i][j]=f[i-1][abs(j-i)]+f[i-1][j+i];}}printf("%lld",f[n][0]/2);
}

T3:循环数 RunaroundNumbersRunaround NumbersRunaroundNumbers

评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1467


题目大意

求比n大的第一个循环数(循环数就是每到达一个数字就往前走这个数字的步数,然后每个数字都走过一次)


解题思路

直接暴力往后加,然后看一下是不是循环数。


code

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,now,k[10],a[10];
bool check(int x)
{memset(k,0,sizeof(k));int tmp=x,w=0;while(tmp){w++;a[w]=tmp%10;if(k[a[w]]) return false;k[a[w]]=true;tmp/=10;}for(int i=1;i<=w/2;i++)swap(a[i],a[w-i+1]);memset(k,0,sizeof(k));tmp=1;for(int i=1;i<=w;i++){if(k[a[tmp]]||!a[tmp]) return false;k[a[tmp]]=true;tmp=(tmp+a[tmp]-1)%w+1;}if(tmp!=1) return false;return true;
}//判断循环数
int main()
{scanf("%d",&n);now=n;while(true){now++;if(check(now)){printf("%d",now);break;}}
}

T4:派对灯 PartyLampsParty LampsPartyLamps

评测记录:https://www.luogu.org/recordnew/lists?uid=52918&pid=P1468


题目大意

有n个灯
有4种操作:
1.灯开着就关,关了就开
2.奇数号的取反
3.偶数号的取反
4.3k+1的灯取反
给出操作次数和某些灯的最终状态,求所有可能的状态


解题思路

我们可以发现其实灯就是6个一个的循环节。
然后一个东西操作过2次就没有用,然后1和2,3就等于按另一个
我们可以预处理除c=2可以做到的所有情况,然后c>2时也可以做到c=2时的效果


code

#include<cstdio>
using namespace std;
const int s[8]={0,14,21,27,36,42,49,63};//预处理可以做到的情况
int n,c,open,close,a[6],x;
bool flag;
void check(int x)
{if((s[x]&open)!=open||s[x]&close) return;int tmp=s[x],i=1;while(tmp) a[6-i]=tmp%2,tmp/=2,i++;for(int i=0;i<n;i++)printf("%d",a[i%6]);flag=true;printf("\n");
}//判断这种情况是否满足
int main()
{scanf("%d%d",&n,&c);while(scanf("%d",&x)&&x!=-1)x=6-(x-1)%6-1,open|=1<<x;//开启的等while(scanf("%d",&x)&&x!=-1)x=6-(x-1)%6-1,close|=1<<x;//关闭的灯if(c==0) check(7);if(c==1) check(0),check(2),check(3),check(5);//前两个特判if(c>=2) for(int i=0;i<=7;i++) check(i);if(!flag) printf("IMPOSSIBLE");
}

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

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

相关文章

mysql实现查询分组查询最后一次的记录

大家好&#xff0c;我是雄雄。 前言 又好久没有写博客了&#xff0c;为什么呢&#xff1f;因为最近没怎么写代码…说起来也惭愧。 今天在项目上遇到了个需求&#xff0c;是这样的&#xff1a;我们数据库中有一表检测记录表&#xff0c;该表中存储的是所有居民每次的检测记录&…

常用公有云接入——华为

一、介绍 1、什么是弹性云服务器? 弹性云服务器是由CPU、内存、镜像、云硬盘组成的一种可随时获取、弹性可扩展的计算服务器&#xff0c;同时它结合虚拟私有云、虚拟防火墙、数据多副本保存等能力&#xff0c;为您打造一个高效、可靠、安全的计算环境&#xff0c;确保您的服…

jenkins~集群分发功能和职责处理

jenkins的多节点集群 在进行自动化部署时&#xff0c;你可以按着它们的项目类型去进行分别部署&#xff0c;这样即可以达到负载均衡&#xff0c;又可以达到一种职责的明确&#xff0c;比如像java的项目你可以使用linux服务来进行部署&#xff08;拉代码&#xff0c;还原&#x…

nginx中配置https的步骤

大家好&#xff0c;我是雄雄。 想必大家都有过配置https的需求吧&#xff0c;今天我就来整理一下&#xff0c;如何在nginx里面配置https 这里先忽略https申请&#xff0c;一般在你申请域名的那里直接弄就行&#xff0c;下面是nginx中的配置代码&#xff1a; server {listen …

nssl1185-试卷【状态压缩】

正题 题目大意 有n张试卷m道题&#xff0c;给出每张试卷每道题的答案(A或B)&#xff0c;选择若干道题&#xff0c;要求至少有k对试卷这些题的选择不一样&#xff08;只要有一题不一样就行&#xff09; 解题思路 用二进制码表示试卷&#xff0c;用1表示A,0表示B。 然后用二进制…

爬取网页图片

前言 这几天又看了下python的视频&#xff0c;突然又对python感兴趣起来。以前只是学了下python的基础&#xff0c;感觉和其他语言没什么大的区别&#xff0c;再加上编程游戏的插件pygame一直没装上&#xff0c;遂放弃了。 最近心血来潮突然又想用python来搞游戏开发&#xff…

sql中索引不会被用到的几种情况

转载自 sql中索引不会被用到的几种情况 1、查询谓词没有使用索引的主要边界,换句话说就是select *&#xff0c;可能会导致不走索引。 比如&#xff0c;你查询的是SELECT * FROM T WHERE YXXX;假如你的T表上有一个包含Y值的组合索引&#xff0c;但是优化器会认为需要一行行的…

asp.net core合并压缩资源文件引发的学习之旅

0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见&#xff1a;http://www.cnblogs.com/morang/p/7207176.html 在asp.net core中则可以使用BuildBundlerMinifier来进行css&#xff0c;js的压缩合并 新建…

新服务器中如何安装jdk(一行命令)

大家好&#xff0c;我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 今天我们看看如何在服务器中安装jdk&#xff0c;这里指的服务器是linux。 服务器版本&#xff1a;centos 7.8 jdk版本&#xff1a;jdk1.8 下面我们来介绍下命令是什么&#xff1a; yum -…

nssl1186-字串数量【前缀和】

正题 题目大意 长度为n的字符串&#xff0c;有q个询问&#xff0c;求[l∼r][l\sim r][l∼r]这个区间的最小子串出现次数。 解题思路 这个就是一道坑题 我们可以发现如果有一个长度为2的子串&#xff0c;那么这个子串前面那一部分一定是更小的。 所以最小子串一定是一个字母&a…

关于腾讯云域名解析

前言 在浏览qq空间的时候看到了腾讯云的广告&#xff0c;只要一块钱即可注册一个.club域名。想起前段时间看的博客&#xff0c;自己早晚要入手网站搭方面的内容&#xff0c;按捺不住心悸&#xff0c;遂买了个域名&#xff0c;起了个叫woyidiankuan的域名&#xff0c;本来想写k…

linux服务器中如何安装mysql数据库(一次性完成,包含远程连接)

大家好。我是雄雄&#xff0c;欢迎关注微信公众号&#xff1a;雄雄的小课堂 今天给大家介绍一下&#xff0c;如何在新服务器中安装mysql数据库&#xff0c;总是捣鼓服务器&#xff0c;每次都去网上查&#xff0c;次次都不一样&#xff0c;浪费好多时间&#xff0c;这次自己记录…

Postman高级应用——流程控制、调试、公共函数、外部数据文件

postman客户端下载地址&#xff1a;https://www.getpostman.com/apps 流程控制 流程控制简言之就是设置接口的执行顺序&#xff0c;流程控制只有在collection runner或Newman里才生效 如果需要实现多个接口的一次循环&#xff0c;只需在每个接口的Tests中编写脚本 postman.setN…

JavaFX鼠标拖拽移动图片

一、鼠标拖拽移动图片 package cn.util;import java.io.File; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.Point2D; import javafx.geometry.Rectangle2D; impor…

nssl1187-排列【dp,随机卡常,树状数组】

正题 题目大意 一个由1∼n1\sim n1∼n组成的序列 求长度为k的上升序列的个数。 数据保证随机 解题思路 用fi,jf_{i,j}fi,j​表示长度为i&#xff0c;以j结尾的上升序列个数。 然后 fi,j∑fi−1,k(aj>ak,j>k)f_{i,j}\sum f_{i-1,k}(a_j>a_k,j>k)fi,j​∑fi−1,k​…

ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N O)

今天早上起来原想着学习python的&#xff0c;想看看mysql&#xff0c;于是陷进去了。 明明没碰啊&#xff0c;怎么突然就启动不了了呢 输入mysql net start mysql 一直显示正在启动&#xff0c;最后蹦出个服务无法启动 网上查了下输入 mysqld --initialize 早上的时候输入的…

如何将base64图像数据以图片的形式上传到云存储obs中

大家好&#xff0c;我是雄雄。欢迎关注微信公众号&#xff1a;雄雄的小课堂。 今天分享个方法&#xff0c;如标题所示&#xff1a; 在日常开发中&#xff0c;我们经常会有这样的需求&#xff0c;将前台拿到的base64图像格式的数据&#xff0c;上传到云存储服务器上&#xff0c…

JavaFX鼠标滚动放大缩小图片

一、鼠标滚动放大缩小图片 package cn.util;import java.io.File; import javafx.application.Application; import javafx.beans.value.ChangeListener; import javafx.beans.value.ObservableValue; import javafx.geometry.Point2D; import javafx.geometry.Rectangle2D; i…

linux上还原自主nuget包需要注意的问题

问题的产生的背景 由于我们使用了jenkins进行部署&#xff08;jenkins~集群分发功能和职责处理&#xff09;&#xff0c;而对于.net core项目来说又是跨平台的&#xff0c;所以对它的项目拉取&#xff0c;包的还原&#xff0c;项目的编译和项目的发布都是在一台linux的jenkins节…

ssl提高组国庆模拟赛【2018.10.7】

前言 出现了&#xff01;毒瘤抠题人BPM。 WHF大佬强势串场 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017myself2017myself2017myself2702702701001001001001001007070702222015hjw2015hjw2015hjw1601601603030301001001003030303332016whf2016whf2016…