当前位置: 首页 > java >正文

2025ICPC南昌邀请赛-G

G - Exploration

 题意如图

思路

首先可以发现在下取整的情况下x/a/b是等于x/(a*b)的(不太会证明但是小范围的打表可以证实这个结论),并且由于通道难度>=2,所以至多需要31条边即可使乘积达到1e9级别所以只需要用DP[i][j]维护从i出发,经过j-1条通道的最大乘积(超过1e9取1e9+10,目的是防止乘积爆longlong),然后枚举经过几条通道即可知道最大乘积

代码实现

#include <map>
#include <set>
#include <queue>
#include <deque>
#include <cmath>
#include <vector>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
#define fi first
#define se second
#define u1 (u<<1)
#define u2 (u<<1|1)
#define pb push_back
#define pp pop_back()
#define int long long
#define laile cout<<"laile"<<endl
#define lowbit(x) ((x)&(-x))
#define double long double
#define sf(x) scanf("%lld",&x)
#define sff(x,y) scanf("%lld %lld",&x,&y)
#define sd(x) scanf("%Lf",&x)
#define sdd(x,y) scanf("%Lf %Lf",&x,&y)
#define _for(i,n) for(int i=0;i<(n);++i)
#define _rep(i,a,b) for(int i=(a);i<=(b);++i)
#define _pre(i,a,b) for(int i=(a);i>=(b);--i)
#define all(x) (x).begin(), (x).end()
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
typedef unsigned long long ULL;
typedef pair<int,int>PII;
const int N=1e6+10,INF=4e18;
int n,m;
int h[N],ne[N],e[N],w[N],idx;
bool st[N];
void add(int a,int b,int c){e[idx]=b,ne[idx]=h[a],w[idx]=c,h[a]=idx++;
}
int dp[N][42];
void solve()
{	int q;memset(h,-1,sizeof h);cin>>n>>m>>q;_for(i,m){int a,b,c;cin>>a>>b>>c;add(a,b,c);}for(int i=1;i<=n;i++) dp[i][1]=1;for(int k=2;k<=33;k++){for(int i=1;i<=n;i++){	for(int j=h[i];~j;j=ne[j]){int u= e[j];dp[i][k]=max(dp[i][k],dp[u][k-1]*w[j]);dp[i][k]=min(dp[i][k],(int)1e9+10);}}	}while(q--){int a,b;cin>>a>>b;_rep(i,1,33){if(dp[a][i]>b){cout<<i-1<<'\n';break;}}}return ;
}
signed main()
{IOS;int T=1;
//	cin>>T;while(T--)solve();return 0;
}

http://www.xdnf.cn/news/7707.html

相关文章:

  • 【实验增效】5 μL/Test 高浓度液体试剂!Elabscience PE Anti-Mouse Ly6G抗体 简化流式细胞术流程
  • 【操作系统】进程同步问题——生产者-消费者问题
  • 【Git】远程操作
  • spring cloud gateway配置
  • 探索自定义地图样式,打造应用专属个性化地图
  • 《探索具身智能机器人视觉-运动映射模型的创新训练路径》
  • 中级网络工程师知识点8
  • Rocketmq Broker与队列关系,怎么存储的
  • AI语音合成平台:AnKo开启免费创作新时代!
  • 基于Telink 8258配合Wireshark抓包测试SIG Mesh的IV Index Update过程
  • Java基础 Day16
  • leetcode hot100:四、解题思路大全:滑动窗口(无重复字符的最长子串、找到字符串中所有字母异位词)、子串(和为k的子数组、)
  • Mysql刷题 day07
  • 苍穹外卖系统结构与功能报告
  • 飞致云旗下开源项目GitHub Star总数突破150,000个
  • 集成运算放大器知识汇总
  • js如何复制图片
  • 嘉立创EDA成图:原理图绘制以及PCB封装导出为.efoo文件
  • 用于管理共享内存的 C# 类 ShareMemory
  • Python 训练营打卡 Day 30
  • SpringBoot实现本地对象存储【minio、阿里云、七牛云】
  • Python-多进程编程 (multiprocessing 模块)
  • 101个α因子#6
  • P2670 [NOIP 2015 普及组] 扫雷游戏
  • 使用VGG-16模型来对海贼王中的角色进行图像分类
  • 【CodeBuddy 】从0到1,打造一个“牛马打鸡血仪”
  • C++ 初阶 | 类和对象易错知识点(上)
  • leetcode2310. 个位数字为 K 的整数之和-medium
  • Python字符串切片详解
  • Oracle中如何解决FREE BUFFER WAITS