首页 > 其他分享 >CF367C Sereja and the Arrangement of Numbers

CF367C Sereja and the Arrangement of Numbers

时间:2023-10-19 20:44:26浏览次数:31  
标签:typedef frac int Sereja long Numbers include CF367C define

这题首先上来会发现题目中的很多信息都是假的,核心就是问要构造一个\(x\)个点的完全图至少要多长的序列

我们把序列中相邻的两个元素看作图上的一条边,则可以把问题转化为:给一个\(x\)个点的完全图,问至少要走多长的路径才可以遍历图中的所有边至少一次

简单讨论下会发现当\(x\)为奇数时,此时图中每个点的度数\(x-1\)为偶数,因此这个图一定存在欧拉回路,故可以恰好经过所有边一次,对应的序列长度为\(\frac{x\times (x-1)}{2}+1\)

而当\(n\)为偶数时,手玩下会发现先把每个点度数拿出\(x-2\)来走一个欧拉回路,然后剩下每个点的一条边就直接串成一条链即可,对应的序列长度为\(\frac{x\times (x-2)}{2}+x-1+1=\frac{x^2}{2}\)

因此最后我们直接暴力枚举最后选了多少个数,然后贪心选大的即可

#include<cstdio>
#include<iostream>
#include<utility>
#include<vector>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<set>
#include<map>
#include<set>
#include<array>
#include<random>
#include<bitset>
#include<ctime>
#include<limits.h>
#include<assert.h>
#include<unordered_set>
#include<unordered_map>
#define int long long
#define RI register int
#define CI const int&
#define mp make_pair
#define fi first
#define se second
#define Tp template <typename T>
using namespace std;
typedef long long LL;
typedef long double LDB;
typedef unsigned long long u64;
typedef __int128 i128;
typedef pair <int,int> pi;
typedef vector <int> VI;
typedef array <int,3> tri;
const int N=100005;
int n,m,x,w[N],ans;
signed main()
{
	//freopen("CODE.in","r",stdin); freopen("CODE.out","w",stdout);
	RI i; for (scanf("%lld%lld",&n,&m),i=1;i<=m;++i) scanf("%lld%lld",&x,&w[i]);
	for (x=0,i=1;i<=m;++i)
	{
		int tmp=i&1?i*(i-1)/2LL+1:i*i/2LL;
		if (tmp<=n) x=i; else break;
	}
	for (sort(w+1,w+m+1,greater <int>()),i=1;i<=x;++i) ans+=w[i];
	return printf("%lld",ans),0;
}

标签:typedef,frac,int,Sereja,long,Numbers,include,CF367C,define
From: https://www.cnblogs.com/cjjsb/p/17775579.html

相关文章

  • How can I change the reference numbers in manuscript to blue color?
    HowcanIchangethereferencenumbersinmanuscripttobluecolor?IamworkinginWord2010and EndNoteX7.Iwanttochangethecolorofcitationsinmanuscripttoblue(nottochangethemmanually), buttochangethemautomaticallyincreatingt......
  • [CF1870F] Lazy Numbers
    LazyNumbers我觉得本题难度在于银剑的构造......我们把k进制下的数去掉前导零放在Trie树上,并且越高位的深度越小,这样我们看出某个节点的dfs序就是排名,称排名减数值为va。我们需要求va=0的点数。不难发现某一深度从左往右的va单调不降,所以可以二分求出每层的点......
  • Travelling Salesman and Special Numbers
    prologue模拟赛的一道题,结果没做出来,丢大人,败大兴。所以过来糊一篇题解。analysis我们看到数据范围这么大,那么肯定不可以一个一个遍历(废话),所以就要考虑这个题目的性质。我们先假设,极端数据\(2^{1000}-1\),这个数字中包含了\(999\)个1(正好感冒了能不能让我喝了)。下一次......
  • [LeetCode] 1352. Product of the Last K Numbers 最后 K 个数的乘积
    Designanalgorithmthatacceptsastreamofintegersandretrievestheproductofthelast k integersofthestream.Implementthe ProductOfNumbers class:ProductOfNumbers() Initializestheobjectwithanemptystream.voidadd(intnum) Appendsthei......
  • SQL Server: How to insert million numbers to table fast?
    YesterdayIattendedatlocalcommunityeveningwhereoneofthemostfamousEstonianMVPs–HennSarv–spokeaboutSQLServerqueriesandperformance.DuringthissessionwesawverycooldemosandinthispostingIwillintroduceyo......
  • 1521A - Nastia and Nearly Good Numbers
    A.NastiaandNearlyGoodNumbershttps://codeforces.com/problemset/problem/1521/A"""思路:1.就是普通的打印,NO的情况是只有b=1的时候才会出现,其他的都是YES,如果不想再继续分情况就把a*b放在中间做y,或者做x也可,避免(b-1)=1,最后要x+y=z"""forlinein[*open(0)......
  • CF1423K Lonely Numbers
    思路因为对于\(\gcd(a,b)\),\(\fraca{\gcd(a,b)}\),\(\fracb{\gcd(a,b)}\)中\(a\)和\(b\)是等价的,可以交换的。所以我们先令\(a>b\)。令\(\gcd(a,b)=d\),因为\(\fraca{\gcd(a,b)}\)有除法,所以我们应该想办法去除除法,就同乘以一个\(d\),即\(d^2\),\(a\),\(b\)三条边。......
  • P7 UVA11481 Arrange the Numbers
    UVA11481ArrangetheNumbers组合数问题。做法貌似很多,显然在前\(m\)个数中选\(k\)个,即\(C(m,k)\),然后后面有\(m-k\)个数需要保证不放在自己的位置上,所以后面整体是一个禁位问题,貌似可以用棋盘多项式去推禁位公式,但是暂时不会。不过还有另外一种思路,就是对于后面的\(n-......
  • Compatible Numbers
    CompatibleNumbers思路对于一个数\(x\),如果想要构造一个数\(y\)使得\(x\&y=0\)那么显然对于\(x\)的每一位:如果当前位是0,那么\(y\)这一位可以填\(1,0\)如果当前位是1,那么\(y\)这一位可以填\(0\)那么对于用这种方式构造出来的数的一些位是可以互换的,而互......
  • CF449D Jzzhu and Numbers
    有一个很蠢但是很好写的做法。就是你先令\(t_i\)为与起来恰好为\(i\)的方案数,然后\(g_i\)为与起来子集中有\(i\)的方案数。然后\(g_S=\sum\limits_{T\subseteqS}t_T\),反演一下变成\(t_{S}=\sum\limits_{T\subseteqS}(-1)^{|S|-|T|}g_{T}\)。注意到可以\(O(w)\)枚......