AGC031 A~C
A题意:给定字符串s,求无重复字符子序列个数(子序列相同位置不同算不同)
在最后加一串a~z表示选了这些就是不选这个字符了,然后答案就是每次选每个字符位置的方案数的积
#include<iostream>
#include<cstdio>
using namespace std;
const int N=100005,mod=1e9+7;
int n;
char s[N];
long long ans=1,a[30];
int main()
{
scanf("%d%s",&n,s+1);
for(int i=1;i<=n;i++)
a[s[i]-'a']++;
for(int i=0;i<26;i++)
ans=ans*(a[i]+1)%mod;
printf("%lld\n",(ans-1+mod)%mod);
return 0;
}
B题意:给定一个颜色序列,可以操作0~inf次,每次操作选两个相同色把中间全涂成这个色
最后结果一定是若干个色块,设f[i]为涂完前i个并且i点保持原来颜色的方案数,枚举和i颜色相同的j表示涂这一段,f[i]=Σf[j-1],为避免重复计数,j-1和i必须不同色(保证色块最长),然后前缀和优化即可
#include<iostream>
#include<cstdio>
using namespace std;
const int N=200005,mod=1e9+7;
int n,a[N],f[N],s[N];
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
f[0]=1,s[a[1]]=1;
for(int i=1;i<=n;i++)
{
// for(int j=1;j<=i;j++)
// if(a[i]==a[j]&&a[j-1]!=a[i])
// f[i]=(f[i]+f[j-1])%mod;
f[i]=s[a[i]];
if(a[i+1]!=a[i])
s[a[i+1]]=(s[a[i+1]]+f[i])%mod;
}
printf("%d\n",f[n]);
return 0;
}
C题意:给定n,s,t,求一个0~2^n-1的排列使得相邻两个数二进制下有且只有一个位不同,或者输出无解(格雷码那样)
首先st二进制下不同位有偶数个是无解,因为没走一位,和t二进制下不同位的数量的奇偶性就会变一次,最后第2^n-2个和t二进制下不同位的数量是偶数,不符合要求
然后证明其他的一定能构造出来,首先n=1是可行的,假设当先n=k都可以,那么证明n=k+1可以;
把st不同的最后一位抠掉(操作的时候是变成0),造出s't',设c为s'抠掉最后一位,d为c抠掉不同的最后一位,这样长为2^(n-1)的(s',c)和(d,t')就可以求了,递归实现
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int n,a,b;
void prin(int a,int b,int v)
{
if(a==b)
{
printf("%d ",a);
return;
}
int x=(a^b)&(-(a^b));
v^=x;
int y=v&(-v);
prin(a,a^y,v);
prin(a^y^x,b,v);
}
int main()
{
scanf("%d%d%d",&n,&a,&b);
if(__builtin_popcount(a^b)&1)
{
puts("YES");
prin(a,b,(1<<n)-1);
}
else
puts("NO");
return 0;
}
AGC031 A~C的更多相关文章
- AtCoder Grand Contest 031 (AGC031) D - A Sequence of Permutations 其他
原文链接https://www.cnblogs.com/zhouzhendong/p/AGC031D.html 前言 比赛的时候看到这题之后在草稿纸上写下的第一个式子就是 $$f(p,q) = pq^ ...
- agc031
T1 题意:给你一个串,求所有子序列个数,满足没有相同字符.1e5,2s. 解:考虑一个合法的子序列.其中每个字母的出现位置都有(出现次数)种选择.还可以不选,要 + 1. 然后乘起来就做完了.如果变 ...
- 【AtCoder】AGC031
A - Colorful Subsequence 答案是 \(\prod_{c = 'a'}^{'z'} (cnt[c] + 1)\) #include <bits/stdc++.h> # ...
- AtCoder Grand Contest 031 B - Reversi
https://atcoder.jp/contests/agc031/tasks/agc031_b B - Reversi Time Limit: 2 sec / Memory Limit: 1024 ...
- AtCoder Grand Contest 031 B - Reversi(DP)
B - Reversi 题目链接:https://atcoder.jp/contests/agc031/tasks/agc031_b 题意: 给出n个数,然后现在你可以对一段区间修改成相同的值,前提是 ...
- Atcoder AGC031C Differ By 1 Bit (构造、二进制)
哎呀这个C怎么比B还水....(我现在大概也就会做点这种水题了吧) 题目链接 https://atcoder.jp/contests/agc031/tasks/agc031_c 题目大意 符号约定: ...
- Atcoder AGC031B Reversi (DP计数)
简单的计数题.(总算做出一道AGC的B题了,然而这场比赛我忘记打了233333) 题目链接: https://atcoder.jp/contests/agc031/tasks/agc031_b 题意: ...
- AtCoder整理(持续更新中……)
做了那么久的atcoder觉得自己的题解发的很乱 给有想和我一起交流atcoder题目(或者指出我做法的很菜)(或者指责我为什么整场比赛只会抄题解)的同学一个索引的机会??? 于是写了个爬虫爬了下 A ...
- 【做题记录】AtCoder AGC做题记录
做一下AtCoder的AGC锻炼一下思维吧 目前已做题数: 75 总共题数: 239 每一场比赛后面的字母是做完的题,括号里是写完题解的题 AGC001: ABCDEF (DEF) AGC002: A ...
随机推荐
- background-color
CreateTime--2017年11月13日09:03:00 Author:Marydon background-color 1.定义 设置背景颜色 2.语法 2.1 使用16进制,以" ...
- Android开发的环境搭建及HelloWorld的实现
安装JDK和配置Java开发环境 http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-4321 ...
- 手动编译一个c文件(Win7下如何使用GCC编译器)
主要参考这篇http://jingyan.baidu.com/article/c275f6bacc0126e33c756771.html 我没找到minGW的下载地址,而是直接用codeblocks自 ...
- 区分虚拟机和machine simulator
1 虚拟机和machine simulator的不同 虚拟机是让多个操作系统同时共用现有的硬件架构,它不会模拟新的硬件架构.qemu这样的模拟器是模拟新的硬件架构,这个架构和host不同.
- andfix使用
1.andfix简介 AndFix是一个Android App的在线热补丁框架.使用此框架,我们能够在不重复发版的情况下,在线修改App中的Bug.AndFix就是 “Android Hot-Fix” ...
- window10 java 环境变量配置
JAVA_HOME (可有可无) CLASSPATH : C:\Program Files\Java\jdk1.8.0_91\lib\dt.jar;C:\Program Files\Java\j ...
- css hack (ie6-ie9+)
IE6 css hack: 1. *html Selector {} /* Selector 表示 css选择器 下同 */ 2. Selector { _property: value; } /* ...
- mysql字符串的常用函数(截取和拼接)
#截取字符串(先正序取2个,再倒序取1个)SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('aaa-gg-cc-dd','-',2),'-',-1) #获取子表某个字段的 ...
- POJ1077 Eight —— 正向BFS
主页面:http://www.cnblogs.com/DOLFAMINGO/p/7538588.html 代码一:以数组充当队列,利用结构体中的pre追溯上一个状态在数组(队列)中的下标: #incl ...
- dedecms5.7二级域名文章图片不显示修改方法.相对路径改为绝对路径的方法
dedecms5.7(织梦CMS5.7)二级域名文章图片不显示修改方法.相对路径改为绝对路径的方法 dedecms升级到5.7SP1后,开启二级域名,你会发现,在二级域名下的文章,上传的图片地址都是: ...