poj 2021

POJ1328——Radar Installation、POJ1042——Gone Fishing、POJ1456——Supermarket(贪心) 例如,考虑乘积 Prod={a,b,c,d},其中 (pa,da)=(50,2),(pb,db)=(10,1),(pc,dc)=(20,2) 和 (pd,dd)=(30,1)。这是一个典型的区间覆盖问题。可以将问题转化为在不同的终止湖的情况下,如何分配剩余的钓鱼时间,使得钓到的鱼总数最大。一组产品以整数 0 <= n <= 10000 开头,这是集合中的产品数量,然后是 n 对整数 pi di,1 <= pi <= 10000 和 1 <= di <= 10000,指定第 i 个产品的利润和销售截止日期。 阅读详情

ac代码

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace std;

struct Peo{
	int age;
	char name[20];
	bool operator<(const Peo &b) {
		if (age == b.age)return (strcmp(name, b.name) < 0);
		return age > b.age;
	}
}a[105];

int main(){
	char fa[105][20], ch[105][20];
	int c, t, n, year[105];

	cin >> c;
	a[0].age = 100;
	strcpy(a[0].name, "Ted");
	for (t = 1; t <= c; t++){
		cin >> n;
		for (int i = 1; i <= n; i++)
			cin >> fa[i] >> ch[i] >> year[i];

		for (int i = 0, k = 1; i < n; i++)
			for (int j = 1; j <= n; j++)
				if (strcmp(a[i].name, fa[j]) == 0) {
					a[k].age = a[i].age - year[j];
					strcpy(a[k].name, ch[j]);
					k++;
				}

		sort(a, a + n + 1);
		cout << "DATASET " << t << endl;
		for (int i = 1; i <= n; i++)
			cout << a[i].name << ' ' << a[i].age << endl;
	}
	return 0;
}

我的代码

#include <iostream>
#include <cstdio>
#include <iomanip>
#include <string>
#include <cstdlib>
#include <cstring>
#include <queue>
#include <set>
#include <vector>
#include <map>
#include <algorithm>
#include <cmath>
#include <stack>

#define INF 0x3f3f3f3f
#define LINF 0x3f3f3f3f3f3f3f3f
#define ll long long
#define ull unsigned long long
#define uint unsigned int

using namespace std;

struct Peo {
	string name;
	int fat,id,big;
	int age;
	bool is_new;
	Peo():age(-1), is_new(false){}
	bool operator<(const Peo& b) {
		if (age == b.age)
			return name < b.name;
		return age > b.age;
	}
}a[111];

void solve(int t) {
	int n,age,len = 0;
	cin >> n;
	map<string, int> mp;
	string s1, s2;
	for (int i = 0; i < n; i++) {
		cin >> s1 >> s2 >> age;
		if (!mp.count(s1)) 
			mp[s1] = len++;

		if (!mp.count(s2))
			mp[s2] = len++;

		int fid = mp[s1], sid = mp[s2];

		if (a[fid].is_new == false) {
			a[fid].name = s1;
			//cout << a[fid].name << endl;
			a[fid].id = fid;
			a[fid].is_new = true;
		}
		
		if (a[sid].is_new == false) {
			a[sid].name = s2;
			//cout << a[sid].name << endl;
			a[sid].id = sid;
			a[sid].is_new = true;
		}
		a[sid].big = age;
		a[sid].fat = fid;
	}

	int ted = mp["Ted"];
	a[ted].age = 100;
	queue<int> q;
	q.push(ted);
	while (!q.empty()) {
		int now = q.front();
		q.pop();

		for (int i = 0; i < len; i++) {
			if (a[i].fat == now && i!= ted) {
				a[i].age = a[now].age - a[i].big;
				q.push(i);
			}
		}
	}
	sort(a, a + n + 1);
	cout << "DATASET " << t << endl;
	for (int i = 1; i <= n; i++)
		cout << a[i].name << ' ' << a[i].age << endl;
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0), cout.tie(0);
	int t;
	cin >> t;
	for (int i = 1; i <= t; i++) 
		solve(i);
		
	return 0;
}
北大acm题解(poj题目分析) 如果你为在poj上找不到解题思路而痛苦,那么这本书可以为你带来惊喜,里面包括了poj上一部分题解题报告~ 立即下载

相关推荐

Latex下使用JabRef添加参考文献

文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 Latex可以手动添加参考文献,但文献过多时,使用JabRef软件相对方便。 提示:以下是本篇文章正文内容,下面案例可供参考 一、JabRef安装 网址:http://www.jabref.org 打开网址后,点击“Download” 进入如下页面后,选择 portable (便携版,无需安装),下载后是一压缩包,打开即可使用。 二、使用 1.创建库 ...

sz3076799的博客 3467

深圳制造业AI-FDE落地实战:协议解析、业务编排与本地化服务

AI-FDE(AI驱动的故障识别与升级响应)是面向智能制造产线的实时质量管控技术,其本质并非通用AI应用,而是融合工业协议解析、边缘智能推理与业务流编排的垂直解决方案。核心原理在于从PLC、AOI、SCADA等毫秒级工业数据流中精准捕获异常模式,并通过可配置的升级响应机制,将告警自动转化为工艺工程师可执行的动作指令。技术价值体现在显著压缩MTTR(平均修复时间)、降低漏检率、提升OEE,尤其适配PCB、SMT、锂电、医疗设备等高节拍产线场景。在深圳制造业‘快、准、不添乱’的刚性约束下,服务商能否完成设备私有

weixin_34050519的博客 340

别再手动算临界转速了!用ANSYS Workbench 2023 R2快速搞定转子坎贝尔图(附完整APDL命令流)

本文详细介绍了如何利用ANSYS Workbench 2023 R2快速生成转子坎贝尔图,实现全自动临界转速分析。通过对比传统手动计算与Workbench自动化流程的效率差异,展示了其在旋转机械设计中的革命性优势,包括大幅缩短分析周期、提升精度至98.7%。文章还提供了完整的APDL命令流和实战案例,帮助工程师快速掌握这一高效工具。

weixin_42699679的博客 470

poj 2021 Relative Relatives(暴力)

题目链接:http://poj.org/problem?id=2021 思路分析:由于数据较小,采用O(N^2)的暴力算法,算出所有后代的年龄,再排序输出。 代码分析: #include <iostream> #include <string.h> #include <algorithm> using namespace st...

aqjh9999的博客 208

【路由交换】思科5506防火墙三区域互通

思科 5506 inside outside dmz 互通

baidu_22774701的博客 6204

从 JDK8 到 JDK17:CRMEB 框架升级

【摘要】CRMEB开源框架已成功从JDK8升级至JDK17,带来显著性能提升:并发吞吐量提高35%,响应延迟降低40%,资源占用减少25%。升级方案解决87个技术卡点,支持模块化扩展和微服务转型,兼容SpringBoot3.0等新技术。提供基础版到企业级的升级服务,包含代码重构指导和性能调优。经金融级验证的方案可帮助电商平台实现日均10万+UV承载,支付成功率提升至99.7%。现以低于市场30%的价格提供全周期技术支持,助力企业抢占技术先机。

weixin_39782540的博客 701

poj 2021 Relative Relatives 排序

题意: 给m个三元组(str1,str2,age)表示孩子str2比父亲str1大age岁,要将所有人按年龄从大往小输出,如有年龄相同的情况按字典序从大到小输出。 分析: 用map将每个人与一个id对应,求出年龄后不需要在每个人的信息上直接排序,可以在id上间接排序。 代码: //poj 2021 //sep9 #include #include #include #include

sepNINE的专栏 676

Xilinx-复旦微-FPGA-眼图BlockDesign系统制作-针对PCIE系统

XIlinx-复旦微电子-FPGA-眼图BlockDesign系统制作-针对PCIE系统,手把手教你如何建立眼图测试

weixin_43444334的博客 2596

POJ 2021 Relative Relatives G++

#include <iostream> #include <cstdio> #include <string> #include <map> #include <vector> #include <algorithm> using namespace std; //英语 看博友分析 map<string,int> mp;//名字 年龄 struct nod{ string name; int zhi;...

woniupengpeng的专栏 175

解决ublox无法定位问题(一直输出$GxTXT)

最近开始研究有关RTK技术的项目,于是先购买了两块ublox公司的NEO-M8T-0型号芯片。(注意NEO-M8T还细分为NEO-M8T-0和NEO-M8T-2,前者不支持RTCM输出,后者支持RTCM输出) 首先都是按常规步骤,直接把芯片模块串口接电脑调试,这边推荐是用官网的u-center调试软件。GPS芯片大多数都是上电后串口自动发送定位等信息,这两块芯片有一块正常情...

众缈之门的博客 7359

Arduino、ESP32驱动TEMT6000传感器(光照传感器篇)

TEMT6000是一个三极管类型的光敏传感器,其光照强度和基极的电流成正比。用起来也相当简单,可以简单的连接该传感器的基极到模拟电压输入,通过简单的检测电压值就可以判断当前的光照强度。

不脱发的程序猿 4233

POJ 2021

#include #include #include using namespace std; static const int MAX = 100; struct info { char name[32]; int age; }; struct info descent[MAX]; bool cmp(info &a, info &b) /* 降序排列 */ { if (a.age >

ych_ding的专栏 931

手把手教你学PCIE--系统内存管理:GART(Graphics Address Remapping Table)的典型用途详解

GART(图形地址重映射表)是GPU的核心组件,主要用于地址映射转换。其典型用途分为物理模式和虚拟模式两类:在物理模式下,GART将GPU虚拟地址映射到分散的物理内存,支持DMA连续访问非连续内存块,适用于GPU渲染纹理采样和AI推理数据搬运等场景;在虚拟模式下,GART配合IOMMU实现多级映射,将GPU虚拟地址转换为虚拟机物理地址再映射到宿主机物理地址,确保多租户隔离,应用于云服务器GPU共享和容器化AI训练等虚拟化环境。两种模式分别优化了高性能计算场景和虚拟化场景的需求。

MHD0815的博客 367

POJ2021

摘要:终于3级了。哈哈,BFS#include #include #include #include #include #include using namespace std; typedef pair person;bool compareAge(person d1, person d2){    if(d1.second == d2.sec

hongshundi的专栏 419

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

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

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

poj2021

bfs View Code #include &lt;iostream&gt; #include &lt;cstdio&gt; #include &lt;cstdlib&gt; #include &lt;cstring&gt; #include &lt;algorithm&gt; using namespace std; #define maxl 50 #define ...

weixin_34125592的博客 85

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LOLIN ESP32 Lite 实测解析:引脚、烧录、WiFi蓝牙共存与工程实战

ESP32 作为物联网开发的核心芯片,凭借双核处理、WiFi 与蓝牙双模通信能力,成为嵌入式原型验证的主流选择。开发板选型直接影响项目效率,不同板型在外设布局、串口芯片和引脚定义上存在差异,理解硬件资源是稳定开发的前提。环境搭建与烧录链路是新手常见瓶颈,驱动安装、Boot 模式和数据线质量均可能导致连接失败,而 GPIO、PWM、定时器及硬件串口的灵活运用,则决定了外设控制与数据交互的可靠性。在无线通信场景中,ESP32 的蓝牙与 WiFi 共存问题需通过机制配置和错峰调度优化,同时 I2C 扩展可有效缓解

weixin_34268843的博客 282

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

poj 2021 Relative Relatives

Description Today is Ted's 100th birthday. A few weeks ago, you were selected by the family to contact all of Ted's descendants and organize a surprise party. To make this task easier, you created an

安静的程序猿 521

poj 2021 Relative Relatives

Relative Relatives Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 3330   Accepted: 1456 Description Today is Ted's 100th birthday. A few weeks ago, you were

Cugb->Baoge 780

2021-02-13poj 1426 Find The Multiple

poj 1426 Find The Multiple 1.基本的BFS 2.剪枝的方法:比如说x%n=y%n=c,x<y,根据同余模定理,(x10+1(或0))%n=(x%n10%n)%n+1(或0)%n=(c10%n)%n+1(或0)%n 同理(y10+1(或0))%n=(y%n10%n)%n+1(或0)%n=(c10%n)%n+1(或0)%n BFS最先搜索到的数是小的x,可以看出 x,y往下继续搜索到的数算出的余数是一样的,因为x最早开始,比y快,所以把y剪掉,用vis数组记录一下就行(我看到网

m0_51250458的博客 116

2021-01-29 POJ 2663 Tri tilling 题解

骨牌问题的升级版~~~~

Y_Y 318

2021-02-11 poj 3728 Catch That Pow

poj 3728 Catch That Pow 基本的BFS搜索 1.记得每次都要清空队列,因为忘清空了卡了很久 2.hdu和poj上的数据输入方式是不一样的 #include<iostream> #include<queue> #include<cstdio> #include<string.h> using namespace std; const int N = 1e5+5; int vis[N], step[N]; queue <int>

m0_51250458的博客 110

POJ初级分类 枚举专题 poj1753 poj2965

POJ1753 题目大意:给你一个 4X4 的棋盘,每次操作你可以反转一个棋子,但是附加着把上下左右相邻的棋子也反转。   如果经过一定次数的操作可以使棋子变得全相同,就输出操作数;反之,就输出impossible。 思路:想到了用0 1替换a、b,从而简化操作,然而对递归回溯并不是理解的很透彻,看的别人的代码才勉强写出来,太弱了,弱弱要变强! #include//POJ1753 #i

huatian5的博客 2779
上一篇: poj 2018 O(n)求最长后缀
下一篇: poj 2057 好题
FawkesLi
博客等级 码龄8年 21粉丝 170原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值