bzoj 1811: [Ioi2005]mea 贪心,乱搞】的更多相关文章

[Ioi2005]mea Time Limit: 20 Sec  Memory Limit: 64 MBSubmit: 690  Solved: 257[Submit][Status][Discuss] Description 考虑一个非递减的整数序列 S1,....Sn+1(Si<=Si+1 1<=i<=n). 序列M1...Mn是定义在序列S的基础上,关系式为 Mi=( Si + S(i+1) )/2, 1<=i<=n, 序列M叫做序列S的平均数序列.例如序列1,2,2,…
题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生成比前一个数大的数,那么就和前一个数保持一致,否则当前位 = 前一个数当前位+ 1,后面的位数按照最小方式排列.如果排到最后每一位都和前面一个数一致,就把剩余的b从最小的一位一直加满9. 代码: #include<set> #include<map> #include<stack…
传送门 假设第一个位置是1,那么枚举它的左右两边是谁,有两种情况,然后可以递推求出序列. 然后可以贪心,两个序列有多少个不同的数,答案就是多少,具体为啥,yy一下即可 然后就是判断递推求出的序列和目标序列最少有多少个不同,也就是最大有多少个相同 因为是环,得破环为链,然后再判断的话是 n^2 的,显然超时. 另一个思路,就是不用破环为链,随便找一个节点为起点 看看每个位置的数到目标位置向左移的距离x,f[x]++ 如果两个数到目标位置的距离相同,那么选其中一个数到目标位置后,另一个数也能到目标位…
题目链接:http://codeforces.com/contest/752/problem/D 题意:给长度为k的n个字符串,每一个字符串有权值,求构造一个大回文串.使得权值最大. 因为字符串长度都一样,所以想构成回文串,必须两两配对,在中间加或者不加一个本身就是回文的字符串. 1.考虑非回文串的配对,把所有可以构成回文的非回文串凑起来,必须两两权值和>0才有意义.那么就扔到优先队列里配对. 2.考虑回文串的配对,配对成功的话要看下是不是两个回文串都是>0,如果不是,要额外在一个vector…
/* 不要低头,不要放弃,不要气馁,不要慌张. 题意: 给一个n和m. 第二行给n个数. 每次操作可以把n个数中的任何一个数替代为别的数,问最少的操作次数使得1.2.3.4.5...m中的数出现的次数的最小值尽可能大. 输出这个数,输出最少操作次数,输出替换后的数组. 思路: 1.显然,最小值尽可能大,这个值是可以确定的,即n/m; 2.还有,为使得操作次数最少,我们发现最多有n%m个没有贡献的无关值无需更改... 3.这题实际上可以n^2复杂度,因为n只有2000.但是本渣作死,写了nlogl…
题目描述 一天fuls被邪恶的"咕咕咕"抓走了,jq为了救fuls可谓是赴汤蹈火,费了九牛二虎之力才找到了"咕咕咕"关押fuls的地方. fuls被关在一个机关中,想要解救fuls必须解答出机关的问题,在机关上会显示两个整数N和M,jq必须在机关上输入N个只包含'A'和'C'的字符形成串str, 在这个串中存在f(i,j),i<j,表示str[i]=='C'和str[j]=='A'的一个反AC对,此字符串必须包含刚好M个反AC对,如果有多个长度为N的串满足条件…
Description 给你一个n个数的数列,其中某个数出现了超过n div 2次即众数,请你找出那个数. Input 第1行一个正整数n.第2行n个正整数用空格隔开. Output 一行一个正整数表示那个众数. Sample Input 5 3 2 3 1 3 Sample Output 3 HINT 100%的数据,n<=500000,数列中每个数<=maxlongint. zju2132 The Most Frequent Number -------------------------…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4900 #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<cstdio> #include<vector> #define N 40000007 #define FOR(a,b,c) for(int a=(b),a##…
Tree2cycle A tree with N nodes and N-1 edges is given. To connect or disconnect one edge, we need 1 unit of cost respectively. The nodes are labeled from 1 to N. Your job is to transform the tree to a cycle(without superfluous edges) using minimal co…
思路 : 先对b 的所有后缀建立trie树 第一问 暴力枚举a串的起点 在trie树上跑 找到最短的 第二问 也是暴力枚举a串的起点 a和b顺着暴力匹配就好 第三问 求出来a在第i个位置 加一个字母j 能够到的最近的位置 f[i][j] 到最后就是inf 从f[0][j]DFS 在trie上跟着跑找到最小的deep更新答案 第四问 先按照求f一样同理求出b串 的  g dp[i][j]表示a的前i个位置 b不得不匹配到b的第j个位置             dp[i+1][j]=min(dp[i…