网易--双核处理器

一种双核CPU的两个核能够同时的处理任务,现在有n个已知数据量的任务需要交给CPU处理,假设已知CPU的每个核1秒可以处理1kb,每个核同时只能处理一项任务。n个任务可以按照任意顺序放入CPU进行处理,现在需要设计一个方案让CPU处理完这批任务所需的时间最少,求这个最小的时间。

输入描述:

输入包括两行:
第一行为整数n(1 ≤ n ≤ 50)
第二行为n个整数length[i](1024 ≤ length[i] ≤ 4194304),表示每个任务的长度为length[i]kb,每个数均为1024的倍数。

输出描述:

输出一个整数,表示最少需要处理的时间

输入例子:

5
3072 3072 7168 3072 1024

输出例子:

 9216

这道题的基本思想是背包问题。

完成所有n个任务需要sum时间,放入两个cpu中执行,假设第一个cpu处理时间为t1,第二个cpu时间为sum-t1,并假设t1 <= sum/2,sum-t1 >=   sum/2,要使处理时间最小,则t1越来越靠近sum/2,最终目标是求max(t1,sum-t1)的最大值。转换为01背包问题:已知最大容纳时间为sum/2,有n个任务,每个任务有其的完成时间,求最大完成时间。

定义数组arr[n]存放任务。定义一个数组dp[sum/2+1]。dp[j]表示容量为j的情况下可存放的重量。

如果不放arr[i],重量为dp[j],如果存放arr[i],则重量为dp[j-arr[i]]+arr[i]

输入例子:

5
1 3 3 3 7

#include <iostream>
#include <algorithm>
#include "string.h"
#include "stdio.h"
#include <vector>
#include<utility>
#include "math.h"
using namespace std;
int n=0;
int main()
{
    cin>>n;
    vector<int> arr(n);
    int sum = 0;
    for(int i=0;i<n;i++)
    {
        cin>>arr[i];
        sum+=arr[i];
    }
    cout<<sum<<endl;
    int s = sum/2+1;
    vector<int> dp(s);

    for(int i=0;i<n;i++)
    {
        for(int j=sum/2;j>=arr[i];j--)
        {
            dp[j]=max(dp[j],dp[j-arr[i]]+arr[i]);
        }
    }
    int m = max(dp[sum/2],sum-dp[sum/2]);
    cout<<m<<endl;
    return 0;
}
时间: 2024-10-11 14:38:19

网易--双核处理器的相关文章

英特尔和瑞芯微合作发布面向入门市场的XMM6321双核处理器

今年5月英特尔同中国芯片制造商瑞芯微(Rockchip)达成合作,皆在为低端入门手机.平板和其他设备设计和生产处理器.在今年10月有消息称在双方共同努力下设计了具备3G功能的ARM Cortex-A5双核处理器XMM6321, 而今天这款处理器正式公布 ,在未来几个月有望装备在入门级手机.平板和Phablet上. 瑞芯微表示来自迪拜的一家厂商已经在今年10月下达了超过10万个处理器的订单,将会用于7英寸平板设备.而今天XMM6321处理器将会面向 全球市场开放,该处理器时钟频率为1GHz,能够超

NRF5340首款双核处理器无线SoC

nRF5340基于Nordic经过验证并在全球范围广泛采用的nRF51和nRF52系列多协议SoC而构建,同时引入了具有先进安全功能的全新灵活双处理器硬件架构,支持包括蓝牙5.1/低功耗蓝牙 (Bluetooth® Low Energy /Bluetooth LE).蓝牙Mesh.Thread和Zigbee等主要RF协议.    nRF5340 SoC为扩展工作温度至105oC而设计,同时支持多协议和先进的安全功能,非常适合专业照明和工业应用.此外,这款SoC的高性能应用处理器还带有512 KB

高通与MTK瓜分天下?手机处理器品牌分析

http://mobile.pconline.com.cn/337/3379352.html [PConline 杂谈]如果你向朋友请教买一台怎样的台式机或者笔记本的话,很多时候那朋友会根据你对电脑的使用需求而作一个性能划分,如“你只是需要处理一些简单的文档,对游戏的要求也并不高,选择Intel i3的处理器就已经足够了.”这里虽然有为Intel做广告之嫌,但Intel这么多年来对i系列处理器的深耕,效果在这里就显示出来. 高通与MTK瓜分天下?手机处理器品牌分析 以上的话题好像与本文关于移动(

2.1 规划处理器子系统

2.1  规划处理器子系统 处理器(Processor)是计算机的运算核心和控制核心.常用的个人计算机和服务器使用的中央处理器(Central Processing Unit,简称CPU)是一种微处理器. 2.1.1  X86与X64处理器 计算机在最底层执行的是机器指令,根据指令集的不同可以将处理器划分为不同的平台.可以运行SQL Server 的处理器平台主要有 X86.X64 和 IA64. X86 平台兼容 Intel 的 i386 32 位指令集,数值被送进 32 位寄存器进行相加运算

基于TI Davinci架构的多核/双核开发高速扫盲(以OMAP L138为例),dm8168多核开发參考以及达芬奇系列资料user guide整理

基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢wangpengqi的共享. 一.简单介绍 TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然如今也有管脚全兼容的单核.本文要介绍的就是当中的一款低功耗处理器OMAP L138. OMAP L138包含一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核

LPC43xx双核笔记

简介本页提供了一些使用LPC43xx器件双核特性的基本信息.此页面上的信息和专题使用Keil uVision4工具,以双核工程的使用来演示.该工程初始化两个内核以运行FreeRTOS,并采用三色LED指示M0和M4内核的运行,以及双核处理器之间的通信.该项目把重点放在双核工程的细节上,力求基础和简单.可执行映像的布局和内存使用共享外设和内存资源驱动程序初始化代码通过共享内存和中断事件进行处理器间通信双核调试潜在问题和注意事项 本工程做什么本工程为M4内核创建了一个可引导映像,该映像加载.设置和启

香蕉派 BPI-M1+ 双核开源硬件单板计算机

香蕉派 BPI-M1+ 开源硬件开发板 深圳市源创通信技术有限公司公司 http://www.sinovoip.com.cn/cp_view.asp?id=562 产品介绍 Banana PI BPI-M1+是一款高性能双核开源硬件单板计算机,Banana PI BPI-M1+是一款比树莓派更强悍的双核Android4.4与Linux产品. Banana PI BPI-M1+兼容性强大,可以跑android系统,Debian linux,Ubuntu linux, Raspberry Pi系统

使用GetLogicalProcessorInformation获取逻辑处理器的详细信息(NUMA节点数、物理CPU数、CPU核心数、逻辑CPU数、各级Cache)

不过必须XP SP3以上才行.所有API大全: https://msdn.microsoft.com/en-us/library/windows/desktop/aa363804(v=vs.85).aspx -------------------------------------------------------------------------------- 现在多核处理器已经很普及了,市场主流是双核处理器,还有4核.8核等高端产品.而且Intel推广了超线程技术(Hyper-Threa

基于TI Davinci架构的多核/双核开发快速扫盲(以OMAP L138为例),dm8168多核开发参考以及达芬奇系列资料user guide整理

基于TI Davinci架构的双核嵌入式应用处理器OMAPL138开发入门 原文转自http://blog.csdn.net/wangpengqi/article/details/8115614 感谢wangpengqi的共享. 一.简介 TI的达芬奇架构嵌入式应用处理器使用DSP与ARM结合的非对称多核结构,当然现在也有管脚全兼容的单核.本文要介绍的就是其中的一款低功耗处理器OMAP L138. OMAP L138包括一个主频300M的ARM9处理器内核和一个300M的C6748DSP内核(均