博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
T2695 桶哥的问题——吃桶
阅读量:4483 次
发布时间:2019-06-08

本文共 2017 字,大约阅读时间需要 6 分钟。

现在这里orz  orz大佬的思路~本蒟蒻看懂了~

思路详解

题目中告诉了套餐的产生情况,即

所以将x+y=z-2y化简可得=》z-x=3y

因为题目中告诉我们套餐产生的价值为:

由此可以看出,套餐的价值和y的值没有关系,所以不知道y的值也可以。

由此可以继续推出满足套餐时的情况,即:x<z且(z-x)%3=0(由z-x=3y得到->两边同时%3(3y%3一定为0)我一时竟然在这个地方卡壳了)且a=az

所以这道题就很简单了;

Tip:暴力的话就不用三重循环了,直接二重就行了

AC代码如下:不是我写的,rqy大佬的奇葩解法,涉及高中知识,看不懂

 

1 #include
2 #include
3 #include
4 #include
5 #include
6 using namespace std; 7 int a[100005],b[100005],sxbx[100005],sx[100005],sbx[100005],s[100005]; 8 int read() 9 {10 char ch=getchar();11 int a=0,x=1;12 while(ch<'0'||ch>'9')13 {14 if(ch=='-') x=-x;15 ch=getchar();16 }17 while(ch>='0'&&ch<='9')18 {19 a=(a<<3)+(a<<1)+(ch-'0');20 ch=getchar();21 }22 return a*x;23 }24 int n,m;25 long long ans;26 const int mod=10007;27 int main()28 {29 n=read();30 m=read();31 for(int i=1;i<=n;i++) b[i]=read()%mod; //种类a,美味值b 32 for(int i=1;i<=n;i++) a[i]=read();33 ans=0;34 for(int c=1;c<=3;c++) //一共三类:mod(3)=1 / 2 / 3 35 {36 memset(sxbx,0,sizeof(sxbx)); //千万不要忘了清零,防止对其他类的影响 37 memset(s,0,sizeof(s));38 memset(sbx,0,sizeof(sbx));39 memset(sx,0,sizeof(sx));40 for(int z=c;z<=n;z+=3) //解决下标差3的倍数的问题 41 {42 ans=(ans+sxbx[a[z]])%mod; //更新ans值,注意要和z同种 43 ans=(ans-z%mod*b[z]%mod*s[a[z]]%mod)%mod; //这里多mod几遍,可能会爆int 44 ans=(ans+z*sbx[a[z]]%mod)%mod;45 ans=(ans-b[z]*sx[a[z]]%mod)%mod;46 sxbx[a[z]]=(sxbx[a[z]]+z*b[z]%mod)%mod; //加上z的贡献,注意要和z同种 47 s[a[z]]=(s[a[z]]+1)%mod;48 sbx[a[z]]=(sbx[a[z]]+b[z])%mod;49 sx[a[z]]=(sx[a[z]]+z)%mod;50 }51 }52 cout<<(ans+mod)%mod; //防止答案为负数 53 return 0;54 }

 

转载于:https://www.cnblogs.com/Michael666/p/11242678.html

你可能感兴趣的文章
多态的理解
查看>>
AspNet Core 发布到Linux系统和发布IIS 注意项
查看>>
Windows添加.NET Framework 3.0 NetFx3 失败 - 状态为:0x800f0950
查看>>
隐藏显示终端的光标(shell echo,linux c printf)
查看>>
SQL Server 存储过程
查看>>
JSP 标准标签库(JSTL)(JSP Standard Tag Library)
查看>>
导入项目遇到的问题: Some projects cannot be imported because they already exist in the workspace....
查看>>
华为:字符集合
查看>>
用Okhttp框架登录之后的Cookie设置到webView中(转)
查看>>
Java_Activiti5_菜鸟也来学Activiti5工作流_之入门简单例子(一)
查看>>
elasticsearch 5.x 系列之二 线程池的设置
查看>>
Java入门系列:实例讲解ArrayList用法
查看>>
洛谷P1080 国王游戏【大数】【贪心】
查看>>
Python 字符串相似性的几种度量方法
查看>>
OpenMP编程的任务调度控制
查看>>
卡特兰(Catalan)数列
查看>>
设计模式(一)工厂模式Factory(创建型)
查看>>
Warshall算法
查看>>
Python之匿名函数
查看>>
PhoneGap 3.0 安装
查看>>