[三元环] BZOJ5206: [Jsoi2017]原力

【JSOI2017】预言 【思路要点】定义矩阵的数异或,\(b\ xor\ A\)表示将\(A\)中的每一个数都异或上\(b\),由于本文不涉及矩阵的数乘,以下简写为\(bA\)。定义矩阵运算\(\otimes\),表示将矩阵乘法中的加法替换为异或,乘法替换为与得来的运算。定义矩阵乘幂\(A^b\),表示\(b\)个\(A\)用\(\otimes\)连接的结果,由于本文不涉及矩阵乘法,以下不加辨识地使用\(A^b\)的写法... 阅读详情

活那么久竟然都不会找三元环…

https://www.cnblogs.com/jiachinzhao/p/7474761.html

这题的话,颜色相同且两端点相同的边权值可以加在一起,然后找三元环就好了

#include <cstdio>
#include <iostream>
#include <algorithm>

using namespace std;

const int N=100010,P=1e9+7;

inline char nc(){
  static char buf[100000],*p1=buf,*p2=buf;
  return p1==p2&&(p2=(p1=buf)+fread(buf,1,100000,stdin),p1==p2)?EOF:*p1++;
}

inline void read(int &x){
  char c=nc(); x=0;
  for(;c>'9'||c<'0';c=nc());for(;c>='0'&&c<='9';x=x*10+c-'0',c=nc());
}

int n,m,cnt,G[N],a[N],b[N],c[N],cl[N],id[N],d[N],vis[N][3],cst[N][3];
struct edge{
  int t,nx,w,c;
}E[N];

inline bool cmp(const int &x,const int &y){
  if(a[x]!=a[y]) return a[x]<a[y];
  if(b[x]!=b[y]) return b[x]<b[y];
  return cl[x]<cl[y];
}

inline void addedge(int x,int y,int w,int c){
  E[++cnt].t=y; E[cnt].nx=G[x]; E[cnt].w=w; E[cnt].c=c; G[x]=cnt;
}

int main(){
  freopen("1.in","r",stdin);
  freopen("1.out","w",stdout);
  read(n); read(m);
  for(int i=1;i<=m;i++){
    read(a[i]); read(b[i]); read(c[i]); id[i]=i;
    char clr; while((clr=nc())!='R' && clr!='G' && clr!='B');
    cl[i]=(clr=='R'?0:(clr=='G'?1:2));
    if(a[i]>b[i]) swap(a[i],b[i]);
  }
  sort(id+1,id+1+m,cmp); int t=1;
  d[a[id[1]]]++; d[b[id[1]]]++;
  for(int i=2;i<=m;i++){
    if(a[id[i]]==a[id[t]] && b[id[i]]==b[id[t]] && cl[id[i]]==cl[id[t]])
      c[id[t]]=(c[id[t]]+c[id[i]])%P;
    else{
      t++; id[t]=id[i];
      d[a[id[i]]]++; d[b[id[i]]]++;
    }
  }
  m=t;
  for(int i=1;i<=m;i++)
    if(d[a[id[i]]]>d[b[id[i]]]) addedge(b[id[i]],a[id[i]],c[id[i]],cl[id[i]]);
    else addedge(a[id[i]],b[id[i]],c[id[i]],cl[id[i]]);
  int ans=0;
  for(int k=1;k<=m;k++){
    int u=a[id[k]],v=b[id[k]],cc=cl[id[k]],tot=0;
    for(int i=G[u];i;i=E[i].nx)
      if(E[i].c!=cc) vis[E[i].t][E[i].c]=k,cst[E[i].t][E[i].c]=E[i].w;
    for(int i=G[v];i;i=E[i].nx)
      if(E[i].c!=cc && vis[E[i].t][3-cc-E[i].c]==k)
    tot=(tot+1LL*E[i].w*cst[E[i].t][3-cc-E[i].c])%P;
    ans=(ans+1LL*tot*c[id[k]])%P;
  }
  printf("%d\n",ans);
  return 0;
}
UE5实战:用Cesium插件打造逼真湖泊效果(附波纹参数调优技巧) 本文详细介绍了在Unreal Engine 5中利用Cesium插件创建逼真区域水效果(如湖泊)的实战流程。重点解析了通过材质层混合机制,精细调整波纹参数(如DistanceScale、NearScale)来模拟不同水体状态,并提供了从资产创建、地形配置到视觉调优的一站式解决方案,帮助开发者高效实现非海洋水域的动态视觉效果。 阅读详情

相关推荐

矩阵束(Matrix Pencil)入门:从通信系统到控制理论,它为何是建模利器?

本文深入探讨矩阵束(Matrix Pencil)在通信系统与控制理论中的关键作用,揭示其作为复杂系统建模利器的独特价值。从MIMO系统的多径干扰分析到电力系统稳定性判据,矩阵束通过`A-λB`方程求解提供精准建模方案,显著提升5G通信和工业控制等领域的性能表现。

weixin_30134145的博客 358

JSOI2017 垫底记 幸好不是自己省选系列...

Day 17:10分闹钟响了,觉得有点困,就又在床上摊了一会儿。到楼下后已经30多了…等早餐的时候,一开始煮面大妈有点断线,差点迟到翻车。本来想买杯咖啡清醒一下,结果常州一中旁边的小卖部居然都没开门…最后不得已在有个文具店的小角落找到了一瓶奶茶顶替,很尴尬。(在我脑海里面之前JSOI的题都不难,所以感觉今天早上还是可以做的很爽的——-flag已立)到机房,刚调好gdb考试就开始了。先看完题目,第三题

YxuanwKeith的博客 2496

中国裁判文书网案例批量爬取

本文介绍了某法院网站数据采集的技术研究过程,主要包含JS逆向分析和数据解密方法。通过开发者工具分析发现页面数据经过加密处理,重点研究了ciphertext等加密参数的生成逻辑。文章详细记录了定位加密函数、扣取加密代码、解密数据处理的全流程,并验证了解密方法的有效性。研究过程中强调了技术使用的法律边界,明确声明仅用于合法技术研究,禁止任何非法数据爬取行为。最终实现了加密数据的成功解密,并解释了各请求参数的作用,为后续数据清洗和存储奠定了基础。

2303_80825459的博客 812

[JSOI2017]原力

题目大意:  一个$n(n\le5\times10^4)$个点,$m(m\le10^5)$条边的无向图。每条边有一个边权$w_i(w_i\le10^6)$和一个附加属性$t_i(t_i\in\{R,G,B\})$。定义一个三元环的价值为个条边权值之积,求所有满足每条边附加属性互不相同的三元环的价值和。 思路:  对结点按照度数分为两组分块,度数$\ge\sqrt m$的算作重点,否则算轻点。对于...

weixin_34234823的博客 245

飞行器坐标转换

本文定义的是右手直角坐标系,x−y−zx-y-zx−y−z轴分别为北-天-东。从AAA坐标系到BBB坐标系是分别绕y−z−xy-z-xy−z−x轴,即天-东-北旋转ψ−θ−γψ−θ−γ。如果AAA是惯性系,BBB是机体系,则这三个角度分别为偏航角、俯仰角、横滚角。图1 惯性系到机体系。

gongfuyd的博客 1354

解决Windows 10安装语言包时遇到的0x800F0954错误

在安装Windows 10操作系统的语言包时,如果遇到错误代码0x800F0954的提示,这无疑会让许多用户感到困惑和无助。这个错误通常意味着在安装过程中遇到了一些阻碍,导致无法正常完成语言包的安装。本文将为大家详细解析这个错误代码0x800F0954,并提供一系列有效的解决方法,帮助大家顺利安装所需的语言包。

nntxthml的博客 3793

JSOI2017滚粗记

今年去jsoi成功滚粗了啊,本来想在GDOI前练练自己状态的,没想到啊,唉:-(,竟然成功滚粗。 DAY1 看完三题,感觉第一题可做,然后就去做第一题,由于没有发现单调性,然后打了个treap,测了发大数据,好像会被卡常?然后没有管了,接着好像第三题比较可做,然后就去打了个很显然的DP,第二题直接打暴力了。 最后成绩出来的时候,发现t1果然被卡常了,然后t3没有分是什么回事?后来晚上的时候dh

samjia2000的博客 1936

PyTorch 面试题及参考答案(精选100道)

模块是 PyTorch 中用于自动求导的核心模块。它为张量上的所有操作提供了自动求导的功能。在深度学习中,反向传播是一种用于计算损失函数相对于模型参数的梯度的算法。通过梯度,我们可以使用优化算法(如随机梯度下降)来更新模型的参数,从而最小化损失函数。模块的主要作用就是自动计算这些梯度。当我们创建一个张量时,如果将其属性设置为True,那么 PyTorch 会跟踪该张量上的所有操作。在完成前向传播计算出损失函数后,调用方法,模块会自动根据链式法则反向传播计算出所有需要求导的张量的梯度。

大模型大数据攻城狮的专栏 1678

JSOI2017 R1 游记

JSOI2017 R1 游记       在zjoi受尽打击的我在看了历年jsoi题之后告诉自己一定要好好做,结果就是受到了更强的打击…… DAY 1        画风好像跟我想象的不一样??T1树上路径O(n)随便跑,环内和环上好像不是特别容易弄?先搞出每个点到城市的转换点的最短路,感觉没怎么打过dij然后我就打了线段树,调了好半天,然后再瞎维护一下,m log m貌似ok,然后我又打了

H_S_W的博客 1554

《从底层结构开始学习FPGA》目录与传送门

《从底层结构开始学习FPGA》目录与传送门

孤独的单刀 16万+

使用Zed 实现测距

此代码基于官方代码基础上进行改写,主要是获取zed相机深度画面的深度值,为yolo测距打基础。Zed相机是由Stereolabs公司开发的一种先进的立体视觉相机。这种相机专为计算机视觉和机器学习应用而设计,能够提供高质量的3D捕捉和分析功能。: Zed相机配备有一对垂直排列的传感器,能够捕捉两个略有偏移的图像,从而模拟人的双眼视觉,实现深度感知。: 利用立体成像技术,Zed相机能够实时生成环境的3D模型,这对于机器人导航、增强现实(AR)和虚拟现实(VR)等应用至关重要。

weixin_45303602的博客 911

BZOJ5206: [Jsoi2017]原力

BZOJ5206: [Jsoi2017]原力 https://lydsy.com/JudgeOnline/problem.php?id=5206 分析: 比较厉害的三元环问题。 设立阈值,当点的度数大于根号时,考虑直接枚举三个点算答案。 否则,只需要考虑存在一个点度数小于等于根号的情况,枚举这个点,枚举它的两个出边即可,需要保证它是所选三个点中度数小于根号的编号最小的一个。 如果距离用...

178

OpenClaw 生成测试用例

OpenClaw 只是躯干,Skills 才是灵魂。很多同学觉得 OpenClaw 没用,就像是买了一台顶级电脑却没装操作系统。通过这四步走,不仅可以学会如何让 AI 干活,更重要的是,可以学会如何管理 AI 的能力。

十二测试录 737

bzoj 5206: [Jsoi2017]原力 根号分治

题意 一个原力网络可以看成是一个可能存在重边但没有自环的无向图。每条边有一种属性和一个权值。属性可能是R、G、B三种当中的一种,代表这条边上原力的类型。权值是一个正整数,代表这条边上的原力强度。原力技术的核心在于将R、G、B三种不同的原力融合在一起产生单一的、便于利用的原力。为了评估一个能源网络,JYY需要找到所有满足要求的三元环(首尾相接的三条边),其中R、G、B三种边各一条。一个三元环产生的...

beginend 540

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

bzoj 5206: [Jsoi2017]原力

题意 一个原力网络可以看成是一个可能存在重边但没有自环的无向图。每条边有一种属性和一个权值。属性可能是R、G 、B三种当中的一种,代表这条边上原力的类型。权值是一个正整数,代表这条边上的原力强度。原力技术的核心 在于将R、G、B三种不同的原力融合在一起产生单一的、便于利用的原力。为了评估一个能源网络,JYY需要找到所 有满足要求的三元环(首尾相接的三条边),其中R、G、B三种边各一条。一个...

OZY的博客 1232

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

BZOJ5206 [Jsoi2017]原力

标签:根号分治,三元环 题目 题目传送门 Description 一个原力网络可以看成是一个可能存在重边但没有自环的无向图。每条边有一种属性和一个权值。属性可能是R、G、B三种当中的一种,代表这条边上原力的类型。权值是一个正整数,代表这条边上的原力强度。原力技术的核心在于将R、G、B三种不同的原力融合在一起产生单一的、便于利用的原力。为了评估一个能源网络,JYY需要找到所有满足要求...

Welcome to yjjr's blog! 807

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【bzoj5206】[Jsoi2017]原力 根号分治+STL-map

题目描述 一个原力网络可以看成是一个可能存在重边但没有自环的无向图。每条边有一种属性和一个权值。属性可能是R、G、B三种当中的一种,代表这条边上原力的类型。权值是一个正整数,代表这条边上的原力强度。原力技术的核心在于将R、G、B三种不同的原力融合在一起产生单一的、便于利用的原力。为了评估一个能源网络,JYY需要找到所有满足要求的三元环(首尾相接的三条边),其中R、G、B三种边各一条。一个三元环产...

weixin_30586085的博客 132

三元环&哈希表

标题这俩东西看起来似乎八杆子打不着,不过只是我在学三元环的时候才刚学到哈希表是个什么东西。。。 关于三元环的解法感觉Claris写的就很不错→%%Claris 我在这里再简单的说一下复杂的相关; 首先可以改成单向边,全都改成由大的点指向小的点(我自己写的是相反的。。。)然后枚举每一个点i,再枚举这个点的出边,如果连出的这个点(设为k)出度小于sqrt(m)的话,再暴力枚举一下另一个点,只看这...

santongding 840

【(伪)Top tree】【BZOJ3153 Sone1 题解】

有什么错误欢迎指出,只求轻喷…… 很久以前在众多神犇的鄙视下找到了论文和代码啃了起来 由于要准备期末考试于是没有多少时间看但又突然不用期末考试了于是就开始看了唔好像扯得有点远而且一口气读完一长串没有标点符号的句子一定会比很累吧所以就不多扯了 首先是AAA树和top tree和self-adjust toptree到底哪个是哪个的问题 = = 找到了杜教、翱犇

退役狗的专栏 9230

JSOI2017 Day1T3 code解题报告

JSOI2017 Day1T3 code解题报告 via. HbFS-观察语法规则可以发现 1、每个循环结束后寄存器的值是0 2、若当前寄存器值为0,则在后面添加一个循环,在循环内部添加任意能通过编译的程序,新程序都不会死循环我们可以用动态规划求解这个问题hih_i表示长度为ii能通过编译的程序数量fi,jf_{i,j}表示长度为ii,寄存器初始值为0,运行结束寄存器值为xx的程序数量 若j

HbFS- 1744

[竞赛图三元环存在性判断] HDU 4324 Triangle LOVE

给一个竞赛图 判断是否有三元环 首先 如果我们任意一个环 就可以找到一个三元环 证明: 假设有环上三个相邻的点a-> b-> c 如果c->a有边 就已经形成了一个三元环 如果c->a没边 那么a->c肯定有边 这样就形成了一个n-1元环 递归即可 我们可以考虑Tarjan求出强连通分量即可一个强连通分量必定包含一个环 不考虑读入 判断单次 O(n+m)O(n

雯舞 2001

BZOJ5206 JSOI2017原力(三元环计数)

  首先将完全相同的边的权值累加。考虑这样一种trick:给边确定一个方向,由度数小的连向度数大的,若度数相同则由编号小的连向编号大的。这样显然会得到一个DAG。那么原图的三元环中就一定有且仅有一个点有两条入边了。并且每个点的出度不会超过√m,因为假设一个点连出了x条边那么其所连向的每个点也至少会有x条出边。先将每个点的所有出边按终点编号排序。然后枚举一条边,对其两端点的出边用双指针计算一下其中有...

weixin_30881367的博客 147

Gym-100342J Triatrip(求有向图三元环个数+bitset应用)

The travel agency “Four Russians” is offering the new service for their clients. Unlike other agencies that only suggest one-way or roundtrip for airline tickets to their customers, “Four Russians” offers the brand new idea — triatrip. Triatrip traveler st

yo_bc的博客 1074

[bzoj5407]girls——容斥原理+三元环计数

题目大意: 有一个图,你要选定三个点,保证三个点之间两两无互相连边,当点i&amp;lt;j&amp;lt;ki&amp;lt;j&amp;lt;kiA∗i+B∗j+C∗kA∗i+B∗j+C∗kA*i+B*j+C*k,求所有符合情况的收益和。 思路: 可以用容斥原理,即所有的情况−−-至少有一对有连边+++至少有两对有连边−−-三对都有连边 。 对于所有的情况,可以考虑每个点来算贡献 对于至少有一对连边的情况,可以枚举...

ylsoi的博客 940
上一篇: [最小割] Topcoder SRM558Div1. SurroundingGame
下一篇: [决策单调 分治] LOJ#535. 「LibreOJ Round #6」花火
LowestJN
博客等级 码龄10年 76粉丝 422原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值