摘要:AVitaly and Strings题意:给定长度相等的字符串s,t,且s的字典序小于t,求一个字符串q字典序大于s小于t。分析:将字符串看做26进制的数,对s”+1“即可。#include #define pb push_back#define mp make_pair#define esp 1...
阅读全文
摘要:A Game题意:A,B各自拥有两堆石子,数目分别为n1, n2,每次至少取1个,最多分别取k1,k2个, A先取,最后谁会赢。分析:显然每次取一个是最优的,n1 > n2时,先手赢。代码: 1 #include 2 #define pb push_back 3 #define mp make_p...
阅读全文
摘要:A - Vanya and Cubes代码: 1 #include 2 #define pb push_back 3 #define mp make_pair 4 #define esp 1e-12 5 #define lowbit(x) ((x)&(-x)) 6 #define lson l...
阅读全文
摘要:感觉这场题目有种似曾相识感觉,C题还没看,日后补上。一定要坚持做下去。A Unusual Product题意:给定一个n*n的01矩阵,3种操作,1 i 将第i行翻转2 i 将第i列翻转3 询问矩阵第i行和第i列做向量乘法之和。分析:分析发现对于3的结果取决于对角线上1的个数num,即num%2,然...
阅读全文
摘要:A Sereja and Algorithm题意:给定有x,y,z组成的字符串,每次询问某一段s[l, r]能否变成变成zyxzyx的循环体。分析:分析每一段x,y,z数目是否满足构成循环体,当然长度 2 #define in freopen("solve_in.txt", "r", stdin);...
阅读全文
摘要:这次运气比较好,做出两题。本来是冲着第3题可以cdq分治做的,却没想出来,明天再想好了。A. On Number of Decompositions into Multipliers题意:n个数a1,a2, a3...an求n个数相乘与a1*a2*a3*a4...an相等的排列个数。分析:首先应该对...
阅读全文
摘要:C Gargari and Bishops题意:一个n*n的矩阵,每个元素一个值, aij,要求选两个点,在上面放置骑士(暂且这样理解), 骑士能够攻击与它在同一对角线上面的格子,不能存在一个格子同时被两个骑士攻击,且使得所有被攻击的格子的值加起来最大.分析:与某一点(i, j)在同一对角线的格子的...
阅读全文
摘要:反正晚上睡不着,熬到1点开始做比赛,6个题目只做了2个题目,而且手速还比较慢,待提升空间还很大呢。A题:给定两个0,1串(len 3 #define in freopen("solve_in.txt", "r", stdin); 4 using namespace std; 5 6 const i...
阅读全文
摘要:搞了好久才把大部分题目题解看完了,真是太弱了。A题简单暴力题一个一个匹配,对应位置字母要么相同,要么是'.'.B题给定一个矩阵,左下角(0,0),右上角(n, m),取4个不同的点连成一段折线,要有最长的折线长度。排除n == 0 和m == 0 ,剩下的情况中总共由4中情况:枚举一下就可以了1. ...
阅读全文
摘要:对每个位置进行操作,求出最终变成相同字母的代价,然后把所有的位上代价加起来,使得总代价最小。res[i][j]表示将字母i+'a'和字母j+'a'变为相同的代价,设最终都变成字母k+'a',那么res[i][j] 2 #include 3 #define N 100010 4 #define M 30 5 #define INF 9999 6 #define min(a,b) ((a)>(b)?(b):(a)) 7 8 int dp[M][M],rec[M][M],res[M][M],vis[M][M]; 9 char s[N],t[N];
阅读全文
摘要:幸运数字的定义是这样:仅含4和7且不比n小的数为n的幸运数字。输入范围l,r要求输出这个范围内的数字的幸运数字之和。代码: 1 #include 2 #define N 1024 3 typedef long long ll; 4 ll a[N+1]; 5 ll f(ll n) 6 { 7 if(n==0) 8 return 0; 9 int i;10 ll ans=0;11 for(i=1;i<=N;i++)12 {13 if(a[i]<n)14 ans+=a[i]*(a[i]-a[i-1]);1...
阅读全文
摘要:Numbersk-bonacci (kis integer,k > 1) are a generalization of Fibonacci numbers and are determined as followsF(k, n) = 0, for integern,1 ≤ n k.Note that we determine thek-bonacci numbers,F(k, n), only for integer values ofnandk.You've got a numbers, represent it as a sum of several (at least t
阅读全文
摘要:题目意思是这样的:给定n个整数,求第i个数右边的距离它最远的比它小的数的下标之差然后再减1。这里既然是需要知道距离该数最远的下标,可以从右至左扫描一遍,然后按照单调递减的顺序入栈,即只把比栈顶元素小的整数入栈,等于或大于对于后面的数查找比自己小的值没什么意义。然后遇到比栈顶元素大,而又比不大于栈底元素的情况二分搜索就可以了。 1 #include 2 #define N 100010 3 int a[N],ans[N],stack[N]; 4 int main(void) 5 { 6 int n,i,top=0; 7 scanf("%d",&n); 8 for(i=
阅读全文