首页 > 其他分享 >Cun

Cun

时间:2024-10-26 10:20:05浏览次数:5  
标签:read while isdigit Cun Type getchar

#include<bits/stdc++.h>
#define Type int
#define qr(x) x=read()
using namespace std;

inline Type read(){
	char c=getchar(); Type x=0, f=1;
	while(!isdigit(c)) (c=='-'?f=1:f=-1), c=getchar();
	while(isdigit(c)) x=(x<<1)+(x<<3)+(c^48), c=getchar();
	return x*f;
}

const int N = 1e6 + 10;

int n, m, a[N], nid;

struct Trie{
	int f[N][2], rt, t[32][2];

	inline void insert(int th){
		int x = a[th], u = 1;
		for(int i=0; i<30; i++){
			int now = t[u][(x & (1 << i))];
			if(!now) now = ++rt;
			f[now][1]++; u = now;
		}
	}

	inline void update(int j){
		int x = a[j], u = 1;
		for(int i=0; i<30; i++){
			int now = t[u][(x & (1 << i))];
			f[now][0]++;
			f[now][1]--;
			u = now;
		}
	}

	inline int query(int x){
		int u = 1, res = 0;
		for(int i=0; i<30; i++){
			int g = (x & (1 << i));
			int lson = t[u][0], rson = t[u][1], L, R;
			if(g == 1) L = f[lson][g] - 1, R = f[rson][g^1];
			else L = f[lson][g], R = f[rson][g^1] - 1;
			if(!lson or !rson) L = 0;
			res += L * R; u = t[u][g];
		}
		return res;
	}
}tri;

int main(){
//	freopen("in.in", "r", stdin), freopen("out.out", "w", stdout);

	qr(n);
	for(int i=1; i<=n; i++) qr(a[i]);

	for(int i=1; i<=n; i++)
		tri.insert(i);

	int ans = 0;
	for(int i=1; i<=n; i++){
		ans += tri.query(a[i]);
		tri.update(i);
	}
	cout<<ans<<"\n";



	return 0;
}

标签:read,while,isdigit,Cun,Type,getchar
From: https://www.cnblogs.com/YuenYouth/p/18503719

相关文章

  • LeCun谢赛宁首发全新视觉多模态模型,等效1000张A100干翻GPT-4V,AI视频长度扩展调优技术:E
    LeCun谢赛宁首发全新视觉多模态模型,等效1000张A100干翻GPT-4V,AI视频长度扩展调优技术:ExVideo帮你轻松生成更长、更优质的视频,EVTexture:提升视频分辨率的新方法!利用AI将模糊视频变清晰!近日,LeCun和谢赛宁等大佬,共同提出了这一种全新的SOTAMLLM——Cambrian-1。开创了以视觉为中心的......
  • Acunetix v24.8 - 29 Aug 2024 高级版漏洞扫描器(最新版) 附Windows/Linux下载链接
    前言AcunetixPremium是一种Web应用程序安全解决方案,用于管理多个网站、Web应用程序和API的安全。集成功能允许您自动化DevOps和问题管理基础架构。AcunetixPremium:全面的Web应用程序安全解决方案Web应用程序对于企业和组织与客户、合作伙伴和员工的联系至关......
  • Acunetix v24.8 - 29 Aug 2024 高级版漏洞扫描器(最新版) 附Windows/Linux下载链接
    前言AcunetixPremium是一种Web应用程序安全解决方案,用于管理多个网站、Web应用程序和API的安全。集成功能允许您自动化DevOps和问题管理基础架构。AcunetixPremium:全面的Web应用程序安全解决方案Web应用程序对于企业和组织与客户、合作伙伴和员工的联系至关......
  • 工具分享 | 24年最新AWVS/Acunetix Premium V24.8高级版漏洞扫描器(最新版)Windows/Li
    前言AcunetixPremium是一种Web应用程序安全解决方案,用于管理多个网站、Web应用程序和API的安全。集成功能允许您自动化DevOps和问题管理基础架构。AcunetixPremium:全面的Web应用程序安全解决方案Web应用程序对于企业和组织与客户、合作伙伴和员工的联系至关......
  • 首发 最新AWVS/Acunetix Premium V24.8高级版漏洞扫描器(最新版)Windows/Linux下载
    前言AcunetixPremium是一种Web应用程序安全解决方案,用于管理多个网站、Web应用程序和API的安全。集成功能允许您自动化DevOps和问题管理基础架构。AcunetixPremium:全面的Web应用程序安全解决方案Web应用程序对于企业和组织与客户、合作伙伴和员工的联系至关重要。......
  • 图灵奖获得大佬Yann LeCun看好的模型预测控制(MPC)策略是什么?
    图灵奖获得大佬YannLeCun看好的模型预测控制(MPC)策略是什么?模型预测控制(ModelPredictiveControl,MPC)作为一种先进的控制策略,近年来在工业过程控制、自动驾驶、能源系统等多个领域得到了广泛应用。凭借其对系统未来行为的预测能力,MPC在处理多变量系统、显式考虑系统约束......
  • Acunetix v24.8 发布,新增功能概览
    Acunetixv24.8发布,新增功能概览Acunetixv24.8(Linux,Windows)-Web应用程序安全测试Acunetix|WebApplicationSecurityScanner请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重要提示AcunetixPremium......
  • Acunetix v24.7 (Linux, Windows) - Web 应用程序安全测试
    Acunetixv24.7(Linux,Windows)-Web应用程序安全测试Acunetix|WebApplicationSecurityScanner请访问原文链接:https://sysin.org/blog/acunetix/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org重要提示AcunetixPremium现在使用日历化版本命名。请注意,从......
  • GPT-4并非世界模型,LeCun双手赞同!ACL力证LLM无法模拟真实世界
    一直以来,支持LLM的观点之一是模型可以集成海量事实知识,作为通往「世界模拟器」的基础。虽然也有不少反对意见,但缺乏实证依据。那么,LLM能否作为世界模拟器?最近,亚利桑那大学、微软、霍普金斯大学等机构联合发布了一篇论文,从实证角度否定了这一观点。最新研究已被ACL2024顶会......
  • 用 Visual C++ 2022 和 CMake 编译 CUnit 静态库
    准备工作源代码获取CUnit是知名的C语言单元测框架,其源代码最初发布在sourceforge上,网址为:https://sourceforge.net/projects/cunit/截止到目前为止,最新Release版的版本号是:2.1-3,发布时间是2014年4月24日。有一些Fork自sourceforge的后续改进版本,我们选取的是https://g......