暑期第一次多校联合赛 I题 数学题

算法实验报告最优装载问题 贪心法最优装载问题,内涵代码,调试成功! 立即下载

           Problem I. 数学
Time Limit: 1000ms Memory Limit: 65536kb
Description
给出数列A1;A2; : : : ;AN,并设
Bi =  (A1 * A2 * AN /Ai  )  mod (109 + 7)
现要求把所有的Bi 算出来。
Input
输入包含多组测试数据。对于每组数据,第1 行,1 个整数N(1 N 100; 000), 表示数列的长度。第2
行,N 个整数A1;A2; : : : ;AN(1 Ai 109),表示给出的数列。输入以一个0 表示结尾。
Output
对于每组数据,输出一行,N 个整数用空格分隔,表示算出的B1;B2; : : : ;BN。
Sample
INPUT OUTPUT
31
2 3
0
6 3 2

题目大意:求出Bi。

思路:

由于数据量大,无法枚举,我是通过在线打表来做的,打表的时候小小的利用的DP的思想,就是利用前一项得出当前一项,具体打表就是把每一个Ai的左右边分别打出表来,第一个数组ee保存的是A1%x,A1*A2%x,A1*A2*A3%x,……来得出,而re就是反过来保存。而在求出Bi的时候的映射关系是:第一项和最后一项特殊处理(所以n==1的时候要特殊处理),    Bi=ee [i-1]    *re[(n-1)-(i+1)] ,假如现在求B3的话,那么左边就是存在ee[I-1],而右边就是:如果按正序的话,就是re【i+1】,但是因为我反过来存了,所以就是用re【n-1-(i+1)】把他扭过来的那种感觉。

A0*A1*A2*A3*A4*A5

A5*A4*A3*A2*A1*A0

 

program:

 

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<time.h>
using namespace std;
#define ww 1000000007 
__int64 mm[100005];
__int64 remm[100005]; 
int ee[100005];//数组正向,计算反向 
int re[100005];//数组逆向,计算正向 
int bb[100005]; 
int main()
{
int n; 
while(scanf("%d",&n)!=EOF,n)
{
  
  memset(mm,0,sizeof(mm)); 
   memset(ee,0,sizeof(ee)); 
    memset(re,0,sizeof(re)); 
     memset(remm,0,sizeof(remm));  
  for(int i=0;i<n;i++)
     {
        scanf("%I64d",&mm[i]);
             
     }
  if(n==1)
    {
      printf("1\n");
      continue; 
            
    } 
  for(int i=n-1,tmp=0;i>=0;i--,tmp++)
  {
       remm[tmp]=mm[i];   
  }        
  ee[0]=mm[0]%ww;
           
  for(int i=1;i<n-1;i++) 
      {
         ee[i]=( ee[i-1] *( mm[i]% ww ) )%ww;
          
      }
  //下面这个全部拷贝上面
  re[0]=remm[0]%ww;
  //cout<<"i ee[0] "<<' '<<re[0]<<endl;         
  for(int i=1;i<n-1;i++)
      {
         re[i]=( re[i-1] *( remm[i]% ww ) )%ww;
         //cout<<"i re[i] "<<i<<' '<<re[i]<<' '; 
      }
  bb[0]=re[n-2]; 
  bb[n-1]=ee[n-2]; 
  for(int i=1;i<n-1;i++)
      {
         bb[i]=(  ee[i-1]  *  re[(n-1)-(i+1)] )%ww; 
      }
  printf("%d",bb[0]);
  for(int i=1;i<n;i++)
     printf(" %d",bb[i]); 
  printf("\n");  
          
} 
return 0;} 



 

装载问题 装载问题装载问题 描述: 有两艘船,载重量分别是c1、 c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2。确定是否有可能将所有集装箱全部装入两艘船。 输入: 多个测例,每个测例的输入占两行。第一行一次是c1、c2和n(n<=10);第二行n个整数表示wi (i=1…n)。n等于0标志输入结束。 立即下载

相关推荐

VINS-Fusion实战:从零搭建无人机视觉惯性导航系统(附ROS配置指南)

本文提供了一份详尽的VINS-Fusion实战指南,涵盖从硬件选型、传感器标定到ROS节点配置与参数调优的全过程。重点解析了如何将VINS-Fusion视觉惯性里程计系统与PX4飞控深度集成,并实现室外GPS融合,旨在帮助开发者从零搭建稳定、高精度的无人机视觉惯性导航系统。

lll78的博客 864

2019牛客暑期多校9I:KM and M【类欧几里得模板】

题目: 2019牛客暑假多校9I:KM and M 题意: 输入N,M,求下列式子的值: 笔记: 考虑对M的每一位算贡献,假设M的第x位为1,那么计算这一位的贡献就等价于计算KM中有多少个数的第x位为1,计算一个数第x位的值是多少可以这样计算:(v>>x) - (v>>(x+1))*2,那么第x位的贡献为: 上面求和式就是类欧几里得的模板 类欧几里...

KobeDuu 277

Linux 系统管理员必备:Chrome 企业版离线部署全攻略(含 RPM/DEB 双版本)

本文详细介绍了Linux系统管理员如何离线部署Chrome企业版,涵盖RPM和DEB双版本。从获取官方离线安装包到静默安装、权限配置及企业级策略管理,提供全流程解决方案,特别适合Ubuntu等DEB系系统管理员参考。

f9g0h的博客 483

【2019牛客暑期ACM集训多校第三场】

1.emmmm,牛客这场多校题目还是挺平和的,但是,由于队伍状态不是很好+玄学卡常所以没打好。 2.首先上来时字符串,这个之前写过最长的相等01串,子序列就是01出现的次数取个最小值的2倍。然后随便写写ac了。用的是dp写的,看了其他大佬把1看作1,0看作-1,然后计算前缀和也挺好的。 3.然后是H,由于整点,把点Hash一下。取个中间值即可。当时写了一个扫描线的写法,T了。。。。。。 #...

YG爱木木 244

MQTT阿里云OTA 调试记录

2.验证,这个验证是什么意思呢,就是阿里云会把你包的信息,比如包大小,streamid(相当于包的识别码),版本号发送给你的设备,然后如果你没发送升级成功的包给阿里云,这里会是一直验证中的状态,那你的设备每次重新连接阿里云,发送connect包给阿里云的时候,阿里云就会发送一次这个验证(upgrade)包。提取到了之后就可以发送请求包了,这个请求包比较坑,也可能是我没付费,他的包一次最多只有1024个字节的数据。之前说了,验证状态下,设备发送connect包给阿里云,阿里云就会发一个upgrade包给你。

qq_42585211的博客 1231

Adams Car——Adams car与Simulink联合仿真

Adams与simulink悬架联合仿真

Mr.邹的博客 2124

题解:2024牛客暑期多校第1场——C [Sum of Suffix Sums]

我的博客两数之和签到题思路:除了和不行,其他都可以用和凑出来void solve() { in。英文题干There is an mirror maze, where there is a mir。英文题干Given two integers 𝑛 and 𝑚, among all the se。英文题干Given two integers 𝑛 and 𝑚, among all the se。前言题解好难的场, 从第二题开始,就感觉画风不对.A. 两数之和签到特判<=2的情况z = i。

每天多一点干货 856

【人工智能】架构演进:基于本体论与 LLM Agent 的供应链备件决策闭环实践

本文探讨了如何将本体论(Ontology)与大语言模型(LLM)Agent结合,构建供应链备件管理的智能决策系统。针对LLM在垂直领域存在的幻觉和逻辑缺陷问题,提出通过本体论建立结构化知识框架,形成四层架构:知识建模、动态感知、深度分析和决策闭环。系统利用图数据库实例化领域本体,融合多源数据实现实时感知,结合图谱推理和时序预测进行确定性分析,最终通过工具调用完成决策执行。技术选型推荐Gemini 1.5 Pro、Neo4j和LangChain等工具,实现从自动化到智能化的升级。该架构为工业领域提供了可解释、

奶爸的编程之路,也就一周冷个三天 169

2024牛客暑期多校训练营1(A,C,H,I)

选择范围在12m内的任意n个数组成一个长度为n的序列,当且仅当序列序列每个位置上的数均不相等时序列不同,需求得该序列内任意一个子序列满足其所有数的AND后的结果为1的序列个数。

liu_ccx的博客 2093

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

RH850从0搭建Autosar开发环境【3X】- Davinci Configurator之BswM模块配置详解(上)

weixin_42412049的博客 736

大数据学习指南从入门到精通

利用框架的力量,看懂游戏规则,才是入行的前提大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾选择才是拉差距关键,风向,比你流的汗水重要一万倍,逆风划船要累死人的为什么选择学习大数据开发,不选择Java开发?借棋弈做比喻,智商高的不要选择五子琪,要选择围棋,它能长久地吸引你。不都是在棋盘上一颗黑子一颗白子地下吗?因为围棋更复杂,能够掌握如此复杂的技艺、产生稳定输出的棋手、让我们更佩服。选择学习大数据开发也如此,能让你的职业生涯走得更远,少走弯路。

Lansonli(蓝深李)的博客 2万+

2024暑期集训补题(构造)

还有一点需要注意的是题目限制了某个位置的固定图案,因此我们可以通过奇偶性去判断最多的单位圆图案的左上角应该是。时产生一个单位圆,那么显然我们只需要先去构造出最多的单位圆,判断答案是否小于当前图案且大于等于。,这样可以实现一个一个消除单位圆,当剩余单位圆的数量满足条件时,输出答案即可。,我们可以构造出类似于单位圆一样的图形,每产生一个单位圆,总贡献值会。,继续向右下角构造,我们可以发现每添加一个新的图案,其贡献要么为。,向下同理,当第一行和第一列构造完后,其贡献值必然为。,每添加一个新的图案,贡献也必然是。

a2216760004的博客 1155

CAPL如何设置或修改CANoe TCP/IP协议栈的底层配置

MSS = MTU - tcpHeader - ipHeader,也就是MTU = MSS(1360) + tcpHeader(20) + ipHeader(20) = 1400,说明CAPL是可以动态设置网络底层配置参数的!然后在CAPL中设置此网卡MTU值为1400,然后创建UDP套接字,一次性发送2000个字节,在Trace窗口看看首帧报文二层Data的长度。所以我们还不能用UDP协议来验,应该用TCP协议来验,也就是在TCP三次握手时通过Tester的MSS值推导出自己的MTU值。

jasonj333 992

2020牛客暑期多校训练营(第七场) J Pointer Analysis———set模拟

题目题面太死亡了,跟队友来来回回看了好几遍,硬生生被绕进去了,最开始觉得这个指针一次指向多个变量怎么回事,然后发现了是可以无限次乱序执行,讨论好久的题意,终于能解释清楚了。然后发现对象的成员变量和全局的变量来来回回,好,死了。我选择换题。 队友毅然决然上图论,并查集,启动。 今天,我为他默哀。 题目链接 题目大意 一个程序,现在有26个最多对象a,b,c,d…w,y,z 每个对象有最多26个指针成员变量, [a.a], [a.b], [a.c], [a.d] … 然后加上全局指针变量26个A,B,C,D…W

qq_43718271的博客 305

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

牛客网多校第五次总结(没有干货,个人总结)

牛客网多校第五次总结 A gpa 01 分数规划的原题,二分平均值就行了 B div 公式题 C grf 全场只有一个人过 D inv 逆序数 E room 二分匹配的模板题 F take 树状数组求之前比它大的都不出现的概率,然后注意100%的情况就行了 G max 水题 H subseq 可持续化线段树...

海边拾贝,沧海一粟 390

数学建模模型总结

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

暑期多校联合比赛F题 8_24 杨辉三角的打印

F、Pascal'sTriangle of DeathTime                 limit: 1.000 seconds In this problem, you are asked to generate Pascal's Triangle. Pascal's Triangle is useful in many areas from probability to po

muxi@Achilles的专栏 1283

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

暑期多校联合第一题,hdu4861

看了杭电上的解题报告,要用费马小定理,但是没有搞懂

恩~~~~ 272

暑期多校联合第一场 H题 俄罗斯方块 (整理暑期题目系列)

Problem H. 俄罗斯方块                              Time Limit: 6000ms Memory Limit: 65536kb Description 现在给你一些俄罗斯方块游戏中的小方块,你需要求出用它们拼出一个N M 的矩形的方法有多少种。在 这里,方块不能重叠,方块不一定要用完,每种方块只能旋转0/90/180/270 度,不能翻转。方

muxi@Achilles的专栏 1218

2013暑期多校联合训练\第三场\Problem H

虽然题解说是简单题,但是本弱菜还是花了很长时间才订正好。咨询了一位大神,在此先表示感谢。      题解说的O(3^N)的方法没学会,现在有种O(2^N*M),M为回文序列总数。      进入正题,先是状态压缩,因为数据范围很小啦~ 把所有回文串的状态记录下来。下面开始DP,f[i]表示i拆成2进制以后,位置上为1的所表示的字符串,都删掉需要多少步。可以这么理解,是回文串的肯定只要1步,如果

JoeJiao 532

HDU 6092 Rikka with Subset(递推)

Rikka with Subset2017ACM暑期多校联合训练 - Team 5 1008 Rikka with Subset 题目链接Problem Description As we know, Rikka is poor at math. Yuta is worrying about this situation, so he gives Rikka some math tasks t

南风古 245

GLCC 开源编程夏令营开营 — CloudWeGo 精选优质赛题等你来解答!

随着开源文化的普及,越来越多的高校开发者参与到了 CloudWeGo 开源社区的建设中来,也有越来越多的高校 Contributors 成为了社区发展的中流砥柱。为了更好地帮助高校开发者找到参与项目的方向,更有针对性、更有挑战性地参与到社区项目开发中,字节跳动基础架构团队的 CloudWeGo 开源项目精选了 5 个优质赛题,参与 2022 届 Gitlink 开源夏令营(GLCC)。GLCC 是在 CCF 中国计算机学会指导下,由 CCF 开源发展委员会举办的面向全国高校学生的暑期编程活动。...

weixin_44186218的博客 2373

HDU 2019 Multi-University Training Contest 1 杭电2019多校联合训练赛 第一场 1001 Blank (6578)

2019 Multi-University Training Contest 1 杭电2019暑期多校集训第一场 1001 Blank (6578) Problem Description There are N blanks arranged in a row. The blanks are numbered 1,2,…,N from left to right. Tom is filling ...

BenFromHRBUST的优快云博客 393

2009ACM多校联合暑期集训(10)——NIT专场

 http://acm.hdu.edu.cn/showproblem.php?pid=2894 2894 DeBruijin —— 赛后ac.    深搜。在比赛时花了大量时间做,但一直是在规律,但事实证明其实没规律的,唉,其实比赛是想到了用深搜去做,但由于对深搜理解不够透彻,把情况想的很复杂,就没动手做。深搜是从起点起,一直往下搜,遇到不符合的就按原路径返回,并把该路径上改过的数据还

zixiaqian的专栏 956
上一篇: 暑期ACM队内练习赛 H题 数字游戏
下一篇: POJ2769 Reduced ID Numbers
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值