CodeChef LEMOVIE】的更多相关文章

题意:给你n个数字(下标不同数值相同的数字应当被认为是不同的数字),有n!种排列方式.每种排列方式的价值定义为:第一次出现时比前面的所有数字都大的数值个数. 比如1,2,2,3这个排列中,1,2,3这三个数值第一次出现的时候都比前面的所有数字都大,所以这个排列的价值是3. 1,3,1,2这个排列中,1和3第一次出现的时候比前面的所有数字都大,所以这个排列的价值是2. 30分n<=10,另外30分所有数值互不相同. n<=10只需要n!枚举,所有数值互不相同的时候,我们可以考虑向序列中从大到小一…
Read problems statements in Mandarin Chineseand Russian. Little Elephant from Zoo of Lviv likes to watch movies. There are N different movies (numbered from 0 to N − 1) he wants to watch in some order. Of course, he will watch each movie exactly once…
https://www.codechef.com/FEB14/problems/LEMOVIE 题意: 对于一个序列,定义其“激动值”为序列中严格大于前面所有数的元素的个数.给定n个数p1;,p2... pn,求这n个数的所有排列中,激动值不超过k的个数.$1 k \le n \le 200,1 \le pi \le 200$ 这种题有一个很神的想法: 把排列按某种顺序往里插入,使得后不会影响前 对于本题,先离散化去重后,从大到小插入,后插入的元素不会影响已经插入的元素严格大于前面所有数 $f[…
3514: Codechef MARCH14 GERALD07加强版 Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 1288  Solved: 490[Submit][Status][Discuss] Description N个点M条边的无向图,询问保留图中编号在[l,r]的边的时候图中的联通块个数. Input 第一行四个整数N.M.K.type,代表点数.边数.询问数以及询问是否加密.接下来M行,代表图中的每条边.接下来K行,每行两个整数L…
看到异或就去想前缀和(⊙o⊙) 这个就是正反做一遍最大异或和更新答案 最大异或就是很经典的可持久化Trie,从高到低贪心 WA: val&(1<<(base-1))得到的并不直接是1/0 #include<bits/stdc++.h> #define ll long long #define N 400005 using namespace std; inline int read(){ ,f=;char ch=getchar(); ;ch=getchar();} *x+c…
前面做了这场比赛,感觉题目不错,放上来. A题目:对于数组A[],求A[U]&A[V]的最大值,因为数据弱,很多人直接排序再俩俩比较就过了. 其实这道题类似百度之星资格赛第三题XOR SUM,不过他求得是XOR最大值,原理类似.. B:KMP居然写搓了,后来一直改,题目放个链接好了:http://www.codechef.com/LTIME14/problems/TASHIFT. 我么可以对B字符串复制一下,然后再对A字符串求出NEXT数组,再匹配的过程中求出匹配最大长度时的位置, 刚开始我没想…
题目链接:http://www.codechef.com/JAN14/problems/SEAGRP [题意] 给n个点,m条边的无向图,判断是否有一种删边方案使得每个点的度恰好为1. [分析] 从结论入手,每个点的度恰好为1,那么就意味着每个点只能连接一个点,这样问题就转化为图中的点能否刚好两两配对. 对于奇数个点肯定是不行的,因为一定存在一个点不存在与之配对的点.    如果点是偶数,那么就要求这个图的最大匹配,看匹配树是否为点数的一半. 求匹配的方法和二分图类似,不断找增广路更新匹配数就好…
3509: [CodeChef] COUNTARI Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 339  Solved: 85[Submit][Status] Description 给定一个长度为N的数组A[],求有多少对i, j, k(1<=i<j<k<=N)满足A[k]-A[j]=A[j]-A[i]. Input 第一行一个整数N(N<=10^5). 接下来一行N个数A[i](A[i]<=30000). Outp…
题面: https://www.codechef.com/problems/CBAL 题解: 可以发现,我们关心的仅仅是每个字符出现次数的奇偶性,而且字符集大小仅有 26, 所以我们状态压缩,记 a[i]表示 s[1..i]所有字符的奇偶性状态, 那么子串 s[L..R]是平衡字符串当且仅当a[L-1]=a[R]. 我们对 a 离散化后就可以让其在[1,n]的范围内. 如果没有强制在线,那么我们很容易用莫队算法解决. 记录当前范围所有状态的出现位置下标的 0~2 次方之和, 利用(a-b)2=a…
题面:https://www.codechef.com/problems/FNCS 题解: 我们考虑对 n 个函数进行分块,设块的大小为S. 每个块内我们维护当前其所有函数值的和,以及数组中每个元素对这个块函数值的和的贡献系数. 那么每次修改操作我们就可以对每个块函数值的和 O(1)进行修改. 对于询问,落在完整块内的部分我们维护了它的和,直接 O(1)调用即可. 剩余的部分我们对每个函数依次求值. 那么现在问题就变为单点修改.询问区间和. 如果我们使用树状数组,那么单次询问与单次修改复杂度操作…