agc031】的更多相关文章

原文链接https://www.cnblogs.com/zhouzhendong/p/AGC031D.html 前言 比赛的时候看到这题之后在草稿纸上写下的第一个式子就是 $$f(p,q) = pq^{-1}$$ 然后就再也没有改过. 发现了一堆奇奇怪怪的性质可是一直没有用. 直到官方题解出来的时候: $$\Huge f(p,q) = qp^{-1}$$ 题解 我们可以把前面的几个 $a_i$ 写出来. $$\begin {eqnarray*}a_1 &=& p\\a_2 &=&a…
T1 题意:给你一个串,求所有子序列个数,满足没有相同字符.1e5,2s. 解:考虑一个合法的子序列.其中每个字母的出现位置都有(出现次数)种选择.还可以不选,要 + 1. 然后乘起来就做完了.如果变成子串的话更简单,每个位置为开头的长度不会超过26,直接暴力.本质不同子串就开个hash池判重. 本质不同子序列......不会. #include <bits/stdc++.h> , MO = 1e9 + ; char str[N]; ]; int main() { int n; scanf(&…
A - Colorful Subsequence 答案是 \(\prod_{c = 'a'}^{'z'} (cnt[c] + 1)\) #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define space putchar(' ') #define enter putcha…
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&q…
https://atcoder.jp/contests/agc031/tasks/agc031_b B - Reversi Time Limit: 2 sec / Memory Limit: 1024 MB Problem Statement There are N stones arranged in a row. The i-th stone from the left is painted in the color Ci. Snuke will perform the following…
B - Reversi 题目链接:https://atcoder.jp/contests/agc031/tasks/agc031_b 题意: 给出n个数,然后现在你可以对一段区间修改成相同的值,前提是左右端点的值相同.问最后这n个数有多少种不同的值. 题解: 设dp[i]表示只考虑1~i这段,有多少不同的值.然后对于当前第i位,有两种选择,修改或者不修改,不修改的话就是dp[i-1]:修改的话就是dp[k],这里k表示上一个相同颜色的位置. 注意一下如果i-1和i的颜色相同,当前要跳过,这个时候…
哎呀这个C怎么比B还水....(我现在大概也就会做点这种水题了吧) 题目链接 https://atcoder.jp/contests/agc031/tasks/agc031_c 题目大意 符号约定: \(count(x)\)表示整数\(x\)在二进制表示下\(1\)的个数."二进制表示下第\(x\)位"表示位权为\(2^x\)的位.数组下标全部从0开始 给定\(N,A,B\), 求构造一个\([0,2^N-1]\)的排列\(p\), 满足\(p_0=A, p_{2^N-1}=B\),…
简单的计数题.(总算做出一道AGC的B题了,然而这场比赛我忘记打了233333) 题目链接: https://atcoder.jp/contests/agc031/tasks/agc031_b 题意: 有一个长度为\(N\)的颜色序列,第\(i\)个位置初始颜色为\(a_i\), 可以执行若干次操作,每次可以选择两个颜色一样的位置,然后把这两个位置中间的区间都刷成和两端相同的颜色,问最后本质不同的序列有多少种. 题解: 最重要的想法就是要深刻地理解本质不同. 因为我们不论如何操作,最后得到的序列…
做了那么久的atcoder觉得自己的题解发的很乱 给有想和我一起交流atcoder题目(或者指出我做法的很菜)(或者指责我为什么整场比赛只会抄题解)的同学一个索引的机会??? 于是写了个爬虫爬了下 AtCoder整理 AGC [AtCoder]AGC034 [AtCoder]AGC033 [AtCoder]AGC032 [AtCoder]AGC031 [AtCoder]AGC030 [AtCoder]AGC029(A-E) [AtCoder]AGC028(A-E) [AtCoder]AGC027…
做一下AtCoder的AGC锻炼一下思维吧 目前已做题数: 75 总共题数: 239 每一场比赛后面的字母是做完的题,括号里是写完题解的题 AGC001: ABCDEF (DEF) AGC002: ABCEF (EF) AGC003: ABE AGC004: EF (EF) AGC005: EF (E) AGC006: CD AGC007: E (E) AGC009: E (E) AGC010: C AGC011: D AGC012: D AGC013: C AGC014: E (E) AGC0…
CF79D Password: 差分.两点取反,本质是匹配!最短路+状压DP 取反是套路,匹配是发现可以把操作进行目的化和阶段化,从而第二次转化问题. 且匹配不会影响别的位置答案 sequence 计算最长极长段小于等于j的方案数 突破口是i,k总共对数nlogn级别,干掉j用组合意义大力推导 CF1062F Upgrading Cities DAG考虑topo,关键性质:topo序队列中点两两不可达.只在队列长度<=2时候才关心. CF1060F Shrinking Tree 考虑x是不是rt…
题目链接 https://atcoder.jp/contests/agc031/tasks/agc031_d 题解 这居然真的是个找规律神题... 首先要明白置换的一些基本定义,置换\(p\)和\(q\)的复合\(a\)定义为\(a_i=p_{q_i}\), 记作\(a=pq\). 有定理\((pq)^{-1}=q^{-1}p^{-1}\). 显然题目里定义的\(f(p,q)=qp^{-1}\). 然后打表打出前几项: \(a_1=p\) \(a_2=q\) \(a_3=qp^{-1}\) \(…
AGC024(5.20) 总结:猜结论,“可行即最优” B: 给定一个n的排列,每次可以将一个数移到开头或结尾,求变成1,2,...,n所需的最小步数. 找到一个最长的i,i+1,...,j满足在排列中的位置递增,这些数可以保留,答案就是n-(j-i+1). C: 给定一个数列A,初始数列X全为0,每次可以让X[i+1]=X[i]+1,求最少多少次能变成A. 首先特判掉A[1]>0和A[i+1]>A[i]+1的情况,然后如果A[i+1]=A[i]+1,那么只需要ans++,否则ans+=A[i…