普转提——有趣的数,欢乐ABC,打游戏
有趣的数——构造符合条件的数
给你一个区间,问有多少个数符合每一位中,只有一个数字和其他数字不同,也就是其他数字都相同,有且只有一个异类;
数据范围是1e16;
因为只考虑数量而不用管大小;
只要0到9枚举出来就好了;
#include<cstdio>
#include<map>
#include<cstring>
#include<algorithm> using namespace std;
typedef long long ll;
map<ll,int>mp;
ll l,r;
int a[]; int check(int x,int len)
{
ll sum=;
for(int i=;i<=len;i++)
{
if(a[i]==-) a[i]=x;
sum=sum*+a[i];
}
if(sum>=l&&sum<=r)
{
if(!mp[sum])
{
mp[sum]=;
return ;
}
//printf("%d\n",sum);
return ;
}
else return ;
}
int ans;
int main()
{
scanf("%lld%lld",&l,&r);
for(int len=;len<=;len++)
{
for(int i=;i<=;i++)
{
for(int j=;j<=;j++)//单独的数
{
if(i==j) continue;
for(int k=;k<=len;k++)//单独的数的位置
{
memset(a,-,sizeof(a));
if(k==&&j==) continue;
a[k]=j;
if(check(i,len)) ans++;
}
}
}
}
printf("%d",ans);
return ;
}
记得判重,用的map省心;
欢乐ABC——连续区间找相同的量
给你一个字符串,一个区间中A,B,C的数量如果相等,这样的区间的个数是多少,区间要连续;
数据范围1e6;
用前缀和记录ABC的个数;
如果a[j]-a[i-1]=b[j]-b[i-1],b[j]-b[i-1]=c[j]-c[i-1],即a[j]-b[j]=a[i-1]-b[i-1],b[j]-c[j]=b[i-1]-c[i-1],这样的区间i到j就是合法的;
(a[i]-b[i],b[i]-c[i])为一个元素,访问前方有多少相等的元素;
我们还可以再次转化,令A=1e7,B=-999999,C=-1;
用sum记录前缀和,再sort一遍,求相邻的星通的数;
因为排序过后,相邻的数如果相等,说明在这两个数之间A+B+C=0;也就是三个字符的数量相等;
#include<cstdio>
#include<map>
#include<algorithm>
#include<cstring>
using namespace std;
const int maxn=1e6+;
char s[maxn];
int a=,b=-,c=-;
long long sum[maxn];
int ans;
int main()
{
scanf("%s",s);
int len=strlen(s);
for(int i=;i<len;i++)
{
sum[i+]=sum[i];
if(s[i]=='A') sum[i+]+=a;
else if(s[i]=='B') sum[i+]+=b;
else if(s[i]=='C') sum[i+]+=c;
}
sort(sum,sum+len+);
int last=;
for(int i=;i<=len;i++)
{
if(sum[i]==sum[i-])
{
ans+=i-last;
}
else last=i;
}
printf("%d",ans);
return ;
}
打游戏
小强又双叒叕一天随手AK的ZROI的J转S模拟赛。AK完了的小强觉得OI太简单了,太没意思了,于是开始打起了更有挑战的游戏。
小强在游戏里打怪。有一次,他一下子遇到了 n 个怪物。 每个怪物有一个生命值,第 i个怪物的生命值是 hi。而小强除了生命值之外,还有一个属性是魔法值 m。
小强和怪物们依次行动。每一回合,小强先行动,然后怪物们同时行动。小强每次可以选择以下行动之一:
• 普通攻击:令某个怪物的生命值减少 1。
• 重击:消耗 1 魔法值,令某个怪物的生命值减少 2。
• 群体攻击:消耗 1 魔法值,令全体怪物的生命值减少 1。
而每个存活的怪物(生命值严格大于 0)每次会令小强的生命值减少 1。假设小强有足够的生命值来维持存活,小强想知道自己至少需要被消耗多少生命值才能击败所有怪物。
第一行为两个正整数 n 和 m。
第二行为 nn 个正整数,第 i 个数为 hi
普转提——有趣的数,欢乐ABC,打游戏的更多相关文章
- ZROI #364. 【2018普转提day18专题】嘤嘤嘤
ZROI #364. [2018普转提day18专题]嘤嘤嘤 直接贴代码 具体见注释 #include<stdio.h> #include<cstring> #include& ...
- ZR普转提2
ZR普转提2 A 谢谢刁神教我A题 刚开始读错题了,以为是一个不可做的数位DP,然后就暴力滚粗 直到问了问刁神,发现自己题意是错的 然后成了比较简单的题目 直接暴力枚举每一位填什么,剩下的位数的数字都 ...
- ZR9.8普转提
ZR9.8普转提 A,B 打过的CF原题,不管了 C 确认过眼神,是我不会写的DP, 发现这个题目要求的过程类似与一个所有括号都不一样的括号匹配的过程 但是限制条件非常多,有点无从下手的感觉 我们设\ ...
- nyoj 85 有趣的数
点击打开链接 有趣的数 时间限制:3000 ms | 内存限制:65535 KB 难度: 描述 把分数按下面的办法排成一个数表. 1/1 1/2 1/3 1/4..... 2/1 2/2 2/3. ...
- CCF 201312-4 有趣的数 (数位DP, 状压DP, 组合数学+暴力枚举, 推公式, 矩阵快速幂)
问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次. 2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前. 3. 最高 ...
- P2022 有趣的数
P2022 有趣的数 题目描述 让我们来考虑1到N的正整数集合.让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10,11,2,3,4,5,6,7,8,9. 定义K在N个数中的 ...
- CCF软考---《有趣的数》
脑子一热报了CCF的软测..但是又觉得好像并没有什么卵用,就当为蓝桥杯预热然后顺便去软件学院玩一玩吧,遇到一个有意思的题: time limits : 1s 问题描述 我们把一个数称为有趣的,当且仅当 ...
- CCF系列之有趣的数(201312-4)
题目链接: http://115.28.138.223:81/view.page?opid=4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个 ...
- CSP201312-4 有趣的数【dp】
问题描述 试题编号: 201312-4 试题名称: 有趣的数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 我们把一个数称为有趣的,当且仅当: 1. 它的数字只包含0, 1, ...
随机推荐
- Linux中 ls -l 命令显示结果中的每一列的含义
图片转载自:https://blog.csdn.net/zhuoya_/article/details/77418413 简单解释下: 1.第一列颜色框:文件类型列,这里简单描述几种常见类型,d表示目 ...
- ZROI17普及23-A.如烟题解--技巧枚举
题目链接 因版权原因不予提供 分析 别看这是普及模拟赛,其实基本上是提高难度...像这题做NOIpT1的话也说的过去 有个很显然的暴力思路就是枚举c,a,b,时间复杂度\(O(N^3)\), 然后正解 ...
- Django 配置JWT验证
1.setting.py配置 REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework_jwt.authentica ...
- Java 面向对象(四)继承
一.继承的概述(Inherited) 1.由来 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可. 其中,多个类可以称为 子类(派生类 ...
- IDAPython实战项目——DES算法识别
在CTF的逆向中我们需要的是找到加密的主函数,结合了yara的识别原理,通过对常量数组的引用的查找,一步步递归构建调用树.调用树根部就是可能的密码算法主函数. 由于这种办法需要常量分布于算法的各个步骤 ...
- 【问题】redhat安装dig
转自:https://blog.csdn.net/ricky_hust/article/details/8868131 最终可行的方法 在linux下没有单独的dig和nslookup的包,而是以bi ...
- Nginx系列1.2:nginx-rtmp流媒体服务器添加权限认证(推流权限和播放权限)
用到的工具:OBS Studio(推流).nginx-rtmp流媒体服务器.VLC(拉取流播放) Nginx系列1:ubuntu16.04编译出适合自己的nginx服务器 Nginx系列1.1:ubu ...
- WCF 使用Stream模式进行文件上传 --节选自Packt.Net.Framework.4.5.Expert.Programming.Cookbook
使用Stream上传文件 文件上传功能是web程序/服务上常用和必须的功能,WCF也不例外.在4.0版本之前,WCF仅仅提供了buffered模式上传文件.从4.0版本之后,WCF开始提供了Strea ...
- hive的shell用法(脑子糊涂了,对着脚本第一行是 #!/bin/sh 疯狂执行hive -f 结果报错)
hive脚本的执行方式 hive脚本的执行方式大致有三种: hive控制台执行: hive -e "SQL"执行: hive -f SQL文件执行:参考hive用法: usage: ...
- sqlserver常用运维sql
1. sqlserver 检测sql SELECT top 10 (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapse ...