首页 > 其他分享 >最近做题小结

最近做题小结

时间:2024-10-31 20:42:45浏览次数:3  
标签:www temp int dfs vis 最近 https 小结

https://www.luogu.com.cn/problem/AT_abc376_d

问是否含有节点1的环 我一开始做成dfs找环了 很明显
时间过不去 肯定超时的

点击查看代码
#include<bits/stdc++.h>
#define int long long 
using namespace std;
const int N = 1e6;
int nums = 1e15;
int vis[N],pre[N];
vector<int>e[N];
void dfs(int u,int fa){     //dfs
	vis[u] = 1;
	for(auto v : e[u]){  
		if(v==fa)   continue;   //如果是无向的 a-->b 的同时也有 b-->a,所以直接排除另外的一种情况
		if(vis[v]==0){          //如果没有访问就标记当前元素的前一个元素
			pre[v] = u;
			dfs(v,u);           //并且一直递归访问下去
		}else if(vis[v]==1){
			bool flag=0;
			int temp = u,cnt = 1;//环的长度
		    if(temp==1||v==1)flag=1;
			while(temp != v)
			{
				if(temp==1)flag=1;
//				cout<<temp<<" ";
				cnt++;
		    	temp =pre[temp];
			}
//			cout<<v<<"\n";
			if(flag)
			nums=min(nums,cnt);
		}
	}
	vis[u] = 2;
}
signed main()
{ 
	int n,m;int u,v;
       //n为点数  m为边数    u是起点v是终点
	cin >> n>>m;
	for(int i = 1;i <= m;i++){
		cin >> u >> v;
		e[u].push_back(v);
//		e[v].push_back(u);
	}
	for(int i = 1;i <= n;i++){      //可能是非联通图
		if(vis[i]==0)               //每一次可以访问完和该点相连的所有点
			dfs(i,-1);
	}
	if(nums==1e15){
		cout<<-1<<endl;return 0;
	}
	cout << nums << endl;           //环数
}

然后改进下 其实就是一个最短路 如果访问到1直接输出距离+1就行

https://www.luogu.com.cn/problem/AT_abc375_d

这是一个三个字符的字符串 我写了一个暴力 但是超时了

https://atcoder.jp/contests/abc375/submissions/58711251
正确的做法是我们枚举中间 然后前后两个必须相同
考虑前缀和 与 后缀和 于是 就做出来了

https://www.luogu.com.cn/problem/AT_abc376_e

我一开始读错题目了 以为必须的是连续的A序列
实际上并不是 只有满足是子集就行

所以S是个随便的组合 所以 我们该如何去做呢

由于是 要求最小我们可以思考到 固定一边 从而控制变量

那么我们该控制a还是b呢 对于这个集合s我们怎么处理呢

不难发现 A只是要最大的 如果我们控制了最大的数 然后 左边就控制住了 只需要去看右边 然后右边是选N个 看看选的N个*Amax是不是最小的 就好了 然后不断枚举 模拟即可 Amax只需要for循环 然后和不断上浮下沉就行 提前塞n个数进去 n+1的时候 再看新进来能不能构成更小 判断即可

	for(int i=k;i<=n;i++)
	{
		sum+=a[i].b;
		ans=min(ans,sum*a[i].a);
		q.push(a[i].b);	
		sum-=q.top();
		q.pop();

	}

标签:www,temp,int,dfs,vis,最近,https,小结
From: https://www.cnblogs.com/LteShuai/p/18518806

相关文章

  • 1D+洪水淹没制图软件(洼地处理、流向计算、集水面积计算、河网定义、最近邻河道相对高
    1. 软件原理简介基于洪水频率计算得到的设计洪水成果,通过水位流量关系将常见年遇洪水的洪峰流量转化为水位,进一步结合洪泛平原DEM数据,采用GIS水文分析方法计算洪泛平原内任一栅格的水流流程,耦合一维水力学模拟计算,用于大范围洪水淹没制图。淹没制图算法近似于HecRAS等水力学......
  • 分享一下最近清洗CFPS心得,有错误求指正
    目标:得到一个四期面板数据,每期包括家庭库和个人库一、提取变量以2014年为例,2016、2018、2020省略处理过程1.处理个人库keepfid14pidprovcd14urban14cfps2014_agecfps_genderqea0qp201cfps2014eduy_imqz207ku802 替换缺失值forvar_all:replaceX=.ifinl......
  • 为什么最近出现了这么多AI收录网站?
    在这个信息泛滥的时代,许多人可能会感到困惑:每天都有大量的信息涌入,但如何在其中找到真正有用的内容呢?AI收录网站的出现恰好为我们解决了这个问题。这些网站通过人工智能技术,自动整理、分析和推荐信息,帮助用户高效获取所需内容。无论是学术研究、行业资讯还是日常生活中的小知识,AI......
  • 力扣-Mysql-1369-获取最近第二次的活动(困难)
    一、题目来源 1369.获取最近第二次的活动-力扣(LeetCode)二、数据表结构表: UserActivity+---------------+---------+|ColumnName|Type|+---------------+---------+|username|varchar||activity|varchar||startDate|Date......
  • 大数据技术知识点小结
     一、数据采集 1. 数据源:包括结构化数据(如数据库中的数据)、半结构化数据(如XML、JSON等)和非结构化数据(如文本、图像、音频、视频等)。2. 采集工具:如Flume、Sqoop等,用于从不同的数据源抽取数据并传输到大数据存储系统中。 二、数据存储 1. Hadoop分布式文件系......
  • 计算机网络的主要知识点小结
    计算机网络是指将多台计算机通过通信线路连接起来,实现资源共享和信息传递的系统。一、计算机网络概述 1. 定义和功能 -定义:计算机网络是将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理......
  • BEVDet: High-Performance Multi-Camera 3D Object Detection in Bird-Eye-View阅读小
    BEVDet:High-PerformanceMulti-Camera3DObjectDetectioninBird-Eye-ViewBEVDet高性能多相机鸟瞰视图3D目标检测论文概述BEVDet是一种模块化设计的3D目标检测框架,以鸟瞰视图(Bird-Eye-View,BEV)执行3D目标检测,通过现有模块构建其框架,并通过定制数据增强策略和优化非......
  • C# 小结实验:斐波那契数列 (7)
    代码//斐波那契数列publicclassFibonacciSequence{///<summary>///这是一个计算斐波那契数列方法。///</summary>///<paramname="index">第几个斐波那契数列</param>///<returns>第index个斐波那契数列值</returns>publicstat......
  • 小结---安装nvm解决node版本不兼容的问题(node版本切换)
    1、卸载node(如果电脑上没有安装node略过即可)在控制面板找到node.js卸载并将c盘的node文件等全部删除最后打开高级设置,找到高级系统设置将配置的node字段全部删除 2、nvm安装官网下载nvm包https://github.com/coreybutler/nvm-windows/releases2.安装n......
  • 最近做题小结
    https://www.luogu.com.cn/problem/AT_abc373_e这道题是个二分然后标答是两个二分我用的树组+二分需要对代数式进行拆分才能得到我一开始看错题目了看成大于等于他的票的人不多于M就行然后就很简单我觉得可以改编下这个题很明显最终前m个人一定当选那么对于每一个人......