Polycarp Restores Permutation】的更多相关文章

Description An array of integers p1,p2,…,pnp1,p2,…,pn is called a permutation if it contains each number from 11 to nn exactly once. For example, the following arrays are permutations: [3,1,2][3,1,2] , [1][1] , [1,2,3,4,5][1,2,3,4,5] and [4,3,1,2][4,…
链接 [https://codeforces.com/contest/1141/problem/C] 题意 qi=pi+1−pi.给你qi让你恢复pi 每个pi都不一样 分析 就是数学吧 a1 +(a2-a1) +(a3-a1) +(a4-a1) +(a5-a1) +(a6-a1) +-+(an-a1)=a1+a2+....+an-(n-1)a1; =n(n+1)/2-(n-1)*a1=a1+(a2-a1) +(a3-a1) +(a4-a1) +(a5-a1) +(a6-a1) +-+(an-a…
http://codeforces.com/contest/1141/problem/C一开始没想法暴力的,next_permutation(),TLE 后来看了这篇https://blog.csdn.net/kuronekonano/article/details/88679703后来又看了这篇http://www.cnblogs.com/YDDDD/p/10570961.html,懂了,第一个数其实也没必要求出来,就像第一篇画的那个图里那样,其实你只要把那个折线图整体上下移让它落在正确的范围…
\(problem\) 这题的大致意思就是已知数值差值 求1-n的排列 如果能构成排列 则输出这个排列.如果不能则输出-1 排列的值都是 大于1 而小于n的 而且没有相同的数字. 这题最关键的是 怎么输出这个序列 有的是存在负数的. 那么 考虑一下排列都是从1到n的对不对. 取序列的最小值 然后用\(1 - Min\)即是整个序列应该加上的数值. 首先考虑判重. 用数组 或者用\(Map\) \(or\) \(Set\) . 都是不错的方法. #include <bits/stdc++.h>…
题意:有一长度为\(n\)的序列\(p\),现在给你\(q_i=p_{i+1}-q_i \ (1\le i\le n)\),问你是否能还原出原序列,如果能救输出原序列,否则输出\(-1\). 题解:由:\(q_i=p_{i+1}-p_i\),我们对其求前缀和可得:\(s_i=p_{i+1}-p_1\),然后再求出:\(\sum^{n-1}_{i=1}s_i=\sum^{n}_{i=2}p_i-(n-1)*p_1\),\(\sum^{n}_{i=2}p_i=\sum^{n}_{i=1}i-p_1=…
Content 给定一个长度为 \(n-1\) 的序列 \(q\),问你是否能找到一个 \(1\sim n\) 的排列 \(p\),使得 \(\forall i\in[1,n)\),\(q_i=p_{i+1}-p_i\). 数据范围:\(2\leqslant n\leqslant 2\times 10^5\),\(-n<q_i<n\). Solution 首先我们不难知道,设 \(S_i=\sum\limits_{j=1}^i q_j\),那我们不难知道,\(S_i\) 越小,第 \(i+1\…
Codeforces Round #547 (Div. 3) 题目链接:https://codeforces.com/contest/1141 A,B咕咕了... C. Polycarp Restores Permutation 题意: 有一个n的排列,但现在只给出相邻两位的差,问原排列是多少,如果不存在就输出-1. 题解: 通过相邻两位的差我们可以知道第一个元素和其它位置元素的大小关系,然后根据这个来搞一波就行了. 代码如下: #include <bits/stdc++.h> using n…
The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and labeling all of the permutations in order,We get the following sequence (ie, for n = 3): "123" "132" "213" "231" "312" "3…
Given a string s, return all the palindromic permutations (without duplicates) of it. Return an empty list if no palindromic permutation could be form. For example: Given s = "aabb", return ["abba", "baab"]. Given s = "a…
Given a string, determine if a permutation of the string could form a palindrome. For example,"code" -> False, "aab" -> True, "carerac" -> True. Hint: Consider the palindromes of odd vs even length. What difference d…