博客
关于我
19年 湘潭邀请赛
阅读量:303 次
发布时间:2019-03-03

本文共 1232 字,大约阅读时间需要 4 分钟。

找规律 模拟
n叉树

#include
#include
#include
#include
using namespace std;const int maxn=2e5+10;typedef long long ll;ll d[maxn],a[maxn];int main(){ int k,m,n,N; ll p; while(~scanf("%d%d%d%lld",&k,&m,&n,&p)){ for(int i=1;i<=k;i++) scanf("%lld",&a[i]), d[i]=0; sort(a + 1, a + 1 + k); ll ans = 0; if(n == 1) N = m; else N = (pow(n, m) - 1) / (n - 1);// 节点总数 for(int i = 1; i < N; i++) // 根节点不需要 { d[i]=(d[i%n == 0 ? i/n-1 : i/n] % p + a[i] % p) % p; // d[i]=(d[(i-1)/n]%p+a[i]%p)%p; ans = (ans + d[i]) % p; } printf("%lld\n", ans); } return 0;}

字符串 + 思维
题意是在所给串中找到 xtCpc,可以不连续,但是每个字母只能用一次。

#include
#include
#include
#include
#include
using namespace std;typedef unsigned long long ull;const int N = 2e5 + 9;string s;int sum;int n;int a[10];int main(){ while(cin >> n >> s) { memset(a,0,sizeof(a)); for(int i = 0; i < n; ++i) { if(s[i] == 'x') ++a[1]; else if(s[i] == 't' && a[1]) ++a[2], --a[1]; else if(s[i] == 'C' && a[2]) ++a[3], --a[2]; else if(s[i] == 'p' && a[3]) ++a[4], --a[3]; else if(s[i] == 'c' && a[4]) ++a[5], -- a[4]; } cout << a[5] << endl; } return 0;}

转载地址:http://hwfm.baihongyu.com/

你可能感兴趣的文章
Nash:轻量级、安全且可靠的脚本语言
查看>>
NAS个人云存储服务器搭建
查看>>
nat 网卡间数据包转发_你是不是从来没有了解过光纤网卡,它跟普通网卡有什么区别?...
查看>>
NAT-DDNS内网穿透技术,解决动态域名解析难题
查看>>
NativePHP:使用PHP构建跨平台桌面应用的新框架
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
Nat、端口映射、内网穿透有什么区别?
查看>>
nat打洞原理和实现
查看>>
NAT技术
查看>>
NAT模式下虚拟机centOs和主机ping不通解决方法
查看>>
NAT的两种模式SNAT和DNAT,到底有啥区别?
查看>>
NAT网络地址转换配置实战
查看>>
NAT网络地址转换配置详解
查看>>
Navicat for MySQL 命令列 执行SQL语句 历史日志
查看>>
Navicat for MySQL 查看BLOB字段内容
查看>>
Navicat for MySQL(Ubuntu)过期解决方法
查看>>
Navicat Premium 12 卸载和注册表的删除
查看>>
Navicat 导入sql文件
查看>>
navicat 添加外键1215错误
查看>>
navicat 系列软件一点击菜单栏就闪退
查看>>