首页 > 其他分享 >2023.10.5

2023.10.5

时间:2023-10-06 09:04:34浏览次数:45  
标签:ch int 2023.10 while le define dis

A

记 \(\displaystyle f(i)=\oplus_{d|i}d\),求 \(\displaystyle \oplus_{i=1}^{n}f(i)\).

\(n\le 10^{14}\).


考虑一个数是否出现计数次,对 \(\lfloor\frac{n}{x}\rfloor\) 整除分块,查询区间异或和即可。

点击查看代码
#include<bits/stdc++.h>
#define ll long long
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 pref(ll x){
	if(!x)return 0;
	ll ans=1;
	if(((x-1)/2)&1)ans^=1;
	if(!(x&1))ans^=x;
	return ans;
}
ll calc(ll l,ll r){
	return pref(r)^pref(l-1);
}
ll n,ans;
int main(){
	freopen("a.in","r",stdin);
	freopen("a.out","w",stdout);
	n=read();
	for(ll l=1,r;l<=n;l=r+1){
		r=n/(n/l);
		if((n/l)&1)ans^=calc(l,r);
	}
	printf("%lld\n",ans);
	
	return 0;
}

B

UNR #6 D1T1 面基之路

Solution

GJOJ 不是很给力,\(O(kn\log n+mk^2)\) 只给了 80 分。

点击查看代码
#include<bits/stdc++.h>
#pragma GCC optimize(3,"Ofast","inline")
#define ll long long
#define N 100010
#define M 200010
#define K 25
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;
int head[N],ver[M<<1],nxt[M<<1],dist[M<<1],tot;
void add(int u,int v,int w){
	nxt[++tot]=head[u];
	ver[tot]=v,dist[tot]=w;
	head[u]=tot;
}
int k,id[K];
ll dis[K][N];bool vis[N];
#define pii pair<ll,int>
#define se second
#define mp make_pair
void dijkstra(int s){
	memset(vis,0,sizeof(vis));
	for(int i=1;i<=n;i++)dis[s][i]=1e18;
	priority_queue<pii>q;
	dis[s][id[s]]=0,q.push(mp(0,id[s]));
	while(!q.empty()){
		int u=q.top().se;q.pop();
		if(vis[u])continue;
		vis[u]=true;
		for(int i=head[u],v;i;i=nxt[i]){
			if(dis[s][v=ver[i]]>dis[s][u]+dist[i]){
				dis[s][v=ver[i]]=dis[s][u]+dist[i];
				q.push(mp(-dis[s][v],v));
			}
		}
	}
}
int main(){
	freopen("b.in","r",stdin);
	freopen("b.out","w",stdout);
	n=read(),m=read();
	for(int i=1,u,v,w;i<=m;i++){
		u=read(),v=read(),w=read()*2;
		add(u,v,w),add(v,u,w);
	}
	k=read();
	id[0]=1,dijkstra(0);
	for(int i=1;i<=k;i++)
		id[i]=read(),dijkstra(i);
	ll ans=1e18;
	//meet on vertex
	for(int i=1;i<=n;i++){
		ll res=0;
		for(int j=0;j<=k;j++)
			res=max(res,dis[j][i]);
		ans=min(ans,res);
	}
	//meet on edge
	for(int u=1,v,w;u<=n;u++)
		for(int i=head[u];i;i=nxt[i]){
			v=ver[i],w=dist[i];
			for(int j=0;j<=k;j++){
				ll lt=0,rt=0;
				for(int t=0;t<=k;t++){
					if(dis[t][u]<=dis[j][u])lt=max(lt,dis[t][u]);
					else rt=max(rt,dis[t][v]);
				}
				if(lt>rt)swap(lt,rt);
				if(lt+w<=rt)ans=min(ans,rt);
				else ans=min(ans,(lt+rt+w)/2);
			}
		}
	printf("%lld\n",ans);
	
	return 0;
}

C

一个 01 串,每次给出一个 \(k\),至多可以 \(k\) 次将串的一个区间翻转,最大化其最长不降子序列的长度。

询问相互独立。

字符串由 \(n\) 个二元组 \((c_i,p_i)\) 组成,表示从左往右每一段分别有 \(p_i\) 个 \(c_i\).

\(n\le 2\times 10^5\),\(p_i\le 10^9\),\(q\le 2\times 10^5\),\(0\le k\le n\),\(c_i\in\{0,1\}\).


D

LuoTianyi and Cartridge

*3500?整这么逆天。

标签:ch,int,2023.10,while,le,define,dis
From: https://www.cnblogs.com/SError0819/p/17744206.html

相关文章

  • 2023.10.5——每日总结
    学习所花时间(包括上课):0h代码量(行):0行博客量(篇):1篇今天,上午学习+休息,下午学习+休息;我了解到的知识点:1.Maven;2.SpringBoot;明日计划:学习+休息......
  • GJOI 2023.10.5 T2 假期计划Ⅱ
    GJOI2023.10.5T2假期计划Ⅱ题意:给出一个有\(n\)个点的有向图,每点到另一点都有一条有向边,边有权值。现有\(n^2\)次操作,每次会删去一些边,问每次删去后从\(1\)号点到\(n\)号点经过恰好\(k\)条边的最短路,若无法到达输出\(-1\)。\(n\le300,k\le8\)输入:34104......
  • 2023.9-2023.10 做题记录
    好菜啊,被爆杀了/kk1.CF1572ABook模拟赛上看错题了!#$%!#&%^&#*2.CF348DTurtles类似Catalan数的推导3.CF1271DPortals贪心题。4.CF1545BAquaMoonandChess数数题。注意两个连续的1的移动即可。5.AT_agc007_b[AGC007B]ConstructSequences简单题。注意值......
  • 2023.10.4
    今天没做多少,就做了一题,主要是因为下午去医院看牙,花了不少时间,人太多,在那里等了挺久做题目的时候遇到了一些和libc库有关的问题,本来问了学长,后来突然有了想法去查了些东西,自己把问题解决了,学到了不少东西明天预计要忙学校的作业,可能会学的比较少......
  • 2023.10.4——每日总结
    学习所花时间(包括上课):0h代码量(行):0行博客量(篇):1篇今天,上午学习+休息,下午学习+休息;我了解到的知识点:1.休息明日计划:学习+休息......
  • 2023.10.4测试
    T1最短路T2欧拉函数给定常数\(B\),\(T\)组测试数据,每次给定\(l,r\),求\[\sum_{x=l}^r\varphi^{(\max_{i=1}^x\varphi(x)-B)}(x)\]当\(\max_{i=1}^x\varphi(x)-B\leq0\)时\(\varphi^{(\max_{i=1}^x\varphi(x)-B)}(x)=x\)\(1\leqT\leq10^5\),\(1\leqr,B......
  • 2023.10.3——每日总结
    学习所花时间(包括上课):0h代码量(行):0行博客量(篇):1篇今天,上午学习+休息,下午学习+休息;我了解到的知识点:1.Vue2.终于有一段较长且不被打扰的时间,系统的学习一下JavaWeb,以https://www.bilibili.com/video/BV1m84y1w7Tb为准;明日计划:学习+休息......
  • 2023.10.3日报
    npminstallvue-router@3---用于vue2npminstallvue-router@4---用于vue3vue-router主要是用于跳转<template><!--<divid="app">--><!--<imgalt="Vuelogo"src="./assets/logo.png">--><!--<......
  • 2023.10.03补题两则
    2023.10.03T2Solution在\(\bmod{2}\)意义下,\(-x^{c}=x^{c}\)。对于\(A_i\equivC\pmod{B}\),变为\(A_i-C\equiv0\pmod{B}\),那么\(-C\)操作可以看成是异或上\(C\)。对于\(A^{'}_i\equiv0\pmod{B}\)的形式,欲找到最大的\(B\),则\(B\)显然是\(\gcd\......
  • 2023.10.2日报
    今天继续配置idea和vue,又是大战bug的一天,yysy,需要使用这个项目,安装一个插件,很合理吧那为啥idea会和vue插件冲突,我不理解,反正报错就是failedtosaving......,所有的项目直接都打不开点击html或者java或者vue文件也没用,很离谱......