Luogu 魔法学院杯-第二弹(萌新的第一法blog)
虽然有点久远 还是放一下吧。
传送门:https://www.luogu.org/contest/show?tid=754
第一题 沉迷游戏,伤感情
- #include <queue>
- #include <cstdio>
- #include <cstring>
- #include <iostream>
- #include <algorithm>
- using namespace std;
- long long t,n,ans,i,c[],last,now,sum[],s;
- deque<long long> q;
- inline long long read()
- {
- long long ret=,iep=;char ch=getchar();
- while (ch<'' || ch>'') {if (ch=='-') iep=-;ch=getchar();}
- while (ch>=''&&ch<='') {ret=ret*+ch-'';ch=getchar();}
- return ret;
- }
- int main()
- {
- t=read();
- while (t--)
- {
- n=read();ans=;memset(sum,,sizeof sum);
- for (i=;i<=n;i++) s=read(),sum[i]=s+sum[i-];
- q.clear();
- for (i=;i<=n;i++)
- {
- c[i]=read();
- while (!q.empty() && c[i]<=c[q.back()]) q.pop_back();
- q.push_back(i);
- }
- last=;
- while (!q.empty())
- {
- now=q.front();
- q.pop_front();
- ans+=(sum[now]-sum[last])*c[now];
- last=now;
- }
- printf("%lld\n",ans);
- }
- }
第二题 精研白学,减智商
- #include <cstdio>
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int n,m,t,x,y,last,i,k,tot;
- double f[][],z,a[];
- struct node{
- int x,y;
- double z;
- }A[];
- struct edge{
- double s[][];
- edge operator *(const edge &x) const
- {
- edge ret;
- for (int i=;i<=n;i++)
- for (int j=;j<=n;j++){
- ret.s[i][j]=;
- for (int k=;k<=n;k++)
- ret.s[i][j]+=s[i][k] * x.s[k][j];
- }
- return ret;
- }
- }mat,map;
- inline int read()
- {
- int ret=,iep=;char ch=getchar();
- while (ch<'' || ch>'') {if (ch=='-') iep=-;ch=getchar();}
- while (ch>=''&&ch<='') {ret=ret*+ch-'';ch=getchar();}
- return ret;
- }
- int dfs()
- {
- last=;
- for (i=;i<=n;i++) f[i][]=a[i];
- for (i=;i<=n;i++) f[i][(last+)%]=;
- for (i=;i<=tot;i++) f[A[i].y][(last+)%]+=f[A[i].x][last%]*map.s[A[i].y][A[i].x]*1.0;
- }
- edge ksm(int x)
- {
- if (x==) return mat;
- edge ret=ksm(x/);
- ret=ret*ret;
- if (x&) return ret*mat;
- return ret;
- }
- int doit()
- {
- last=;
- for (i=;i<=n;i++) f[i][]=a[i];
- for (k=;k<=t;k++)
- {
- for (i=;i<=n;i++) f[i][(last+)%]=;
- for (i=;i<=tot;i++) f[A[i].y][(last+)%]+=f[A[i].x][last%]*A[i].z*1.0;
- last++;
- }
- }
- int main()
- {
- n=read();m=read();t=read();tot=;
- if (n<)
- {
- for (i=;i<=m;i++)
- tot++,A[tot].x=read(),A[tot].y=read(),cin>>A[tot].z,mat.s[A[tot].y][A[tot].x]+=A[tot].z;
- map=ksm(t);
- for (i=;i<=n;i++) cin>>a[i];
- dfs();last++;
- for (i=;i<n;i++)
- printf("%.6f ",f[i][last%]);
- printf("%.6f\n",f[n][last%]);
- }
- else
- {
- for (i=;i<=m;i++)
- tot++,A[tot].x=read(),A[tot].y=read(),cin>>A[tot].z;
- for (i=;i<=n;i++) cin>>a[i];
- doit();
- for (i=;i<n;i++)
- printf("%.6f ",f[i][last%]);
- printf("%.6f\n",f[n][last%]);
- }
- return ;
- }
Luogu 魔法学院杯-第二弹(萌新的第一法blog)的更多相关文章
- Unity萌新日记—开发小技巧与冷知识(脚本篇)
在学习unity的过程中,总会遇到很多零碎的知识点和小技巧,在此把它们记录下来,方便日后查看. 第一篇是关于脚本的一些你可能不知道的小知识. 还是个正在学习的萌新,如果写的不好,请谅解. Unity版 ...
- 关于『HTML5』:第二弹
关于『HTML5』:第二弹 建议缩放90%食用 咕咕咕咕咕咕咕!!1 (蒟蒻大鸽子终于更新啦) 自开学以来,经过了「一脸蒙圈的 半期考试」.「二脸蒙圈的 体测」的双重洗礼,我终于有空肝 HTML5 辣 ...
- 浅谈Hybrid技术的设计与实现第二弹
前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...
- 萌新笔记——C++里创建 Trie字典树(中文词典)(三)(联想)
萌新做词典第三篇,做得不好,还请指正,谢谢大佬! 今天把词典的联想做好了,也是比较low的,还改了之前的查询.遍历等代码. Orz 一样地先放上运行结果: test1 ID : char : 件 w ...
- 萌新笔记——C++里创建 Trie字典树(中文词典)(二)(插入、查找、导入、导出)
萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配 ...
- 萌新的IDEA_web开发笔记(未完)
萌新IDEA_web开发笔记 按兴趣自己搞的网页: http://47.94.140.98:8080/ow_web/my_web/web/ 暂时还没做完. 部署在租的服务器上面,背景视频加载可能有点慢 ...
- 『PyTorch』第二弹重置_Tensor对象
『PyTorch』第二弹_张量 Tensor基础操作 简单的初始化 import torch as t Tensor基础操作 # 构建张量空间,不初始化 x = t.Tensor(5,3) x -2. ...
- Trick and Magic(OO博客第二弹)
代码是设计,不是简单的陈述.而设计不仅要求功能的正确性,更注重设计风格和模式. 真正可以投入应用的程序设计,不是那种无脑的“黑箱”,超巨大的数组,多重循环暴力搜索,成吨全局变量……事实上,在实际应用中 ...
- 高并发第二弹:并发概念及内存模型(JMM)
高并发第二弹:并发概念及内存模型(JMM) 感谢 : 深入Java内存模型 http://www.importnew.com/10589.html, cpu缓存一致性 https://www.cnbl ...
随机推荐
- MYSQL中replace into的用法
新建一个test表,三个字段,id,title,uid, id是自增的主键,uid是唯一索引: 插入两条数据 '); ');执行单条插入数据可以看到,执行结果如下: [SQL]insert into ...
- jQuery 增加 删除 修改select option .
jQuery获取Select选择的Text和Value: 1. var checkText=jQuery("#select_id").find("option:selec ...
- php中echo(),print(),print_r()之间的区别
echo是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print只能打印出简单类型变量的值(如int,string) print_r可以打印出复 ...
- Flags-Ural1225简单递推
Time limit: 1.0 second Memory limit: 64 MB On the Day of the Flag of Russia a shop-owner decided to ...
- cpu主频信息
yangkunvanpersie ( yangkunvanpersie@163.com ) 通过"有道云笔记"邀请您查看以下笔记 修改CPU频率.note 打开笔记 kerne ...
- javascript 值类型与引用类型
写的比较简单哈,只是用来记忆下 (1)值类型:undefined.null.Boolean.Number和String (2)引用类型:对象.数组.函数
- webdriver杀死浏览器和Chromedriver进程
/** * 执行dos命令 * @param command */ public static void command(String command) { ...
- angular源码阅读,依赖注入的原理:injector,provider,module之间的关系。
最开始使用angular的时候,总是觉得它的依赖注入方式非常神奇. 如果你跳槽的时候对新公司说,我曾经使用过angular,那他们肯定会问你angular的依赖注入原理是什么? 这篇博客其实是angu ...
- sublime3添加对react代码检查
安装eslint npm install -g eslint npm install -g eslint-plugin-react 安装完后调用eslint --init 初始化,生成.eslintr ...
- cygwin安装
我安装的是cygwin2.5.2,相关下载:https://cygwin.com/setup-x86_64.exe 先安装cygwin,x86_64版本,安装时选择库(gcc-core.gcc-c++ ...