首页 > 其他分享 >2023.11.4

2023.11.4

时间:2023-11-04 11:57:18浏览次数:34  
标签:le read 2023.11 ch bmod ll define

提前打摆开始写总结。


A

记 \(\displaystle f(x)=\min_{i\in \mathbb{N^+}}\),求 \(\displaystyle \sum_{i=1}^{n}f(i)\).

答案模 \(1\mathrm{e}9+7\),多测。

\(n\le 10^{16}\),\(T\le 10^4\).


从小到大考虑每个 \(f(i)\) 的出现次数。

若当前求 \(x\) 的出现次数,那么符合的是 \(\bmod x\not=0\) 且 \(\bmod y=0,y\in[2,x)\) 的数。

右边即 \(\bmod \operatorname{lcm}(2,\dots,x-1)=0\).

求 \(\bmod x\not=0\) 且 \(\bmod t=0\) 的数的个数,容易得到为 \(\displaystyle \lfloor\frac{n}{t}\rfloor-\lfloor\frac{n}{\operatorname{t,x}}\rfloor\).

点击查看代码
#include<bits/stdc++.h>
#define ll long long
#define P 1000000007
using namespace std;
ll read(){
	ll x=0,w=1;char ch=getchar();
	while(!isdigit(ch)){if(ch=='-')w=-1;ch=getchar();}
	while(isdigit(ch))x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
	return x*w;
}
ll n;
void solve(){
	n=read();
	ll ans=0;
	for(ll i=2,s=1,lcm;s<=n;s=lcm,i++){
		lcm=s/__gcd(s,i)*i;
		ans=(ans+(n/s-n/lcm)%P*i)%P;
	}
	printf("%lld\n",ans);
}
int main(){
	int T=read();
	while(T--)solve();
	
	return 0;
}

B

B. DZY Loves Modification

*2000.

\(n\times m\) 的矩阵,进行 \(k\) 次操作,每次选出一行或一列,将其和计入贡献,并将每个格子上的值减去 \(p\).

试最大化贡献。

\(n,m,a_{i,j}\le 10^3\),\(k\le 10^6\),\(1\le p\le 100\).


显然操作顺序不影响答案最优性。考虑选了 \(i\) 行,\(k-i\) 列,最终需要减去 \(i\cdot (k-i)\cdot p\) 的贡献。

用两个优先队列记录选出若干行或列的最大贡献即可。

点击查看代码
#include<bits/stdc++.h>
#define ll long long
#define N 1010
#define M 1000010
using namespace std;
int read(){
	int x=0,w=1;char ch=getchar();
	while(!isdigit(ch)){if(ch=='-')w=-1;ch=getchar();}
	while(isdigit(ch))x=(x<<3)+(x<<1)+(ch^48),ch=getchar();
	return x*w;
}
int n,m,k;ll p;
ll line[N],row[N];
priority_queue<ll>A,B;
ll f[M],g[M],ans=-1e18;
int main(){
	n=read(),m=read(),k=read(),p=read();
	for(int i=1,x;i<=n;i++)
		for(int j=1;j<=m;j++)
			x=read(),line[i]+=x,row[j]+=x;
	for(int i=1;i<=n;i++)A.push(line[i]);
	for(int j=1;j<=m;j++)B.push(row[j]);
	for(int i=1;i<=k;i++){
		ll cur=A.top();A.pop();
		f[i]=f[i-1]+cur,A.push(cur-p*m);
	}
	for(int i=1;i<=k;i++){
		ll cur=B.top();B.pop();
		g[i]=g[i-1]+cur,B.push(cur-p*n);
	}
	for(int i=0;i<=k;i++){
		ll cur=f[i]+g[k-i]-1ll*i*(k-i)*p;
		ans=max(ans,cur);
	}
	printf("%lld\n",ans);
	
	return 0;
}

C

F. RBS

*2400.

将 \(n\) 个括号串任意拼接,最大化前缀合法括号串个数。

\(n\le 20\),\(\sum |s|\le 4\times 10^5\).

很好想。垃圾主席树 WA on Test 43,不想玩了。

标签:le,read,2023.11,ch,bmod,ll,define
From: https://www.cnblogs.com/SError0819/p/17809126.html

相关文章

  • 2023.11.3——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 2023.11.3 做题记录
    CF349B*1700\(Igor\)深深爱上了\(Tanya\).现在,\(Igor\)想表达他的爱意,他便在\(Tanya\)家对面的墙上写下一串数字.\(Igor\)认为,数字写得越大,\(Tanya\)越喜欢他.不幸的是,他只有\(v\)升油漆,每个数字都会花掉一定的油漆\(a_i\).\(Igor\)不喜欢\(0\)所以数中不会出......
  • 2023.11《地球ONLINE》版本大更新!!!
    2023.11《地球ONLINE》版本大更新!!!欢迎来到全宇宙最大规模沙盒游戏地球online,这款游戏已经运行长达46亿年,在线人数已多达80多亿,目前设立“197个服务器,目前游戏内存占用率仍未达到极限,且下载速度极快,创建新号条件为“会员邀请制”,仅需10个月就能登录游戏,新玩家在登录游戏后便来......
  • 【杂记】路在何方2023.11.1
    精神状态未知,今天考完了人机对话,期中考试将在一周后进行​。这几天进行了多科模拟考试,分数平平无奇,而今晚的物理成为击倒我的最后一枪​,轻舟已撞大冰山TAT​分析:物理的计算是我的强项,但是选择题错的太多,​主要弱点是分析电路故障,​以及对概念的理解不清。回想过去的两个月,我浪费......
  • 2023.11.1——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.mybatis明日计划:学习......
  • 2023.11 模拟赛日志
    目录SS231101(20231101)标记*是将要写或研究的题目,%就是摆烂,ok的话也许是想到了不想写的意思,没有其他标记就是过了;一个中括号括起来的题目名称就是没写题解,反之是有题解。SS231101(20231101)陈浩霆round。[A动态规划]神秘跳棋题(A014225)[B线段树]简单动态min(维护\(x,......