虽然有点久远  还是放一下吧。

传送门: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)的更多相关文章

  1. Unity萌新日记—开发小技巧与冷知识(脚本篇)

    在学习unity的过程中,总会遇到很多零碎的知识点和小技巧,在此把它们记录下来,方便日后查看. 第一篇是关于脚本的一些你可能不知道的小知识. 还是个正在学习的萌新,如果写的不好,请谅解. Unity版 ...

  2. 关于『HTML5』:第二弹

    关于『HTML5』:第二弹 建议缩放90%食用 咕咕咕咕咕咕咕!!1 (蒟蒻大鸽子终于更新啦) 自开学以来,经过了「一脸蒙圈的 半期考试」.「二脸蒙圈的 体测」的双重洗礼,我终于有空肝 HTML5 辣 ...

  3. 浅谈Hybrid技术的设计与实现第二弹

    前言 浅谈Hybrid技术的设计与实现 浅谈Hybrid技术的设计与实现第二弹 浅谈Hybrid技术的设计与实现第三弹——落地篇 接上文:浅谈Hybrid技术的设计与实现(阅读本文前,建议阅读这个先) ...

  4. 萌新笔记——C++里创建 Trie字典树(中文词典)(三)(联想)

    萌新做词典第三篇,做得不好,还请指正,谢谢大佬! 今天把词典的联想做好了,也是比较low的,还改了之前的查询.遍历等代码.  Orz 一样地先放上运行结果: test1 ID : char : 件 w ...

  5. 萌新笔记——C++里创建 Trie字典树(中文词典)(二)(插入、查找、导入、导出)

    萌新做词典第二篇,做得不好,还请指正,谢谢大佬! 做好了插入与遍历功能之后,我发现最基本的查找功能没有实现,同时还希望能够把内存的数据存入文件保存下来,并可以从文件中导入词典.此外,数据的路径是存在配 ...

  6. 萌新的IDEA_web开发笔记(未完)

    萌新IDEA_web开发笔记 按兴趣自己搞的网页: http://47.94.140.98:8080/ow_web/my_web/web/ 暂时还没做完. 部署在租的服务器上面,背景视频加载可能有点慢 ...

  7. 『PyTorch』第二弹重置_Tensor对象

    『PyTorch』第二弹_张量 Tensor基础操作 简单的初始化 import torch as t Tensor基础操作 # 构建张量空间,不初始化 x = t.Tensor(5,3) x -2. ...

  8. Trick and Magic(OO博客第二弹)

    代码是设计,不是简单的陈述.而设计不仅要求功能的正确性,更注重设计风格和模式. 真正可以投入应用的程序设计,不是那种无脑的“黑箱”,超巨大的数组,多重循环暴力搜索,成吨全局变量……事实上,在实际应用中 ...

  9. 高并发第二弹:并发概念及内存模型(JMM)

    高并发第二弹:并发概念及内存模型(JMM) 感谢 : 深入Java内存模型 http://www.importnew.com/10589.html, cpu缓存一致性 https://www.cnbl ...

随机推荐

  1. Hello Spring Framework——依赖注入(DI)与控制翻转(IoC)

    又到年关了,还有几天就是春节.趁最后还有些时间,复习一下Spring的官方文档. 写在前面的话: Spring是我首次开始尝试通过官方文档来学习的框架(以前学习Struts和Hibernate都大多是 ...

  2. XPlane android 2D手游开发实战

    android 飞行射击游戏类 采用 xamarin 跨平台开发技术  纯C#语言编写 操作简单 1.手指拖动飞机 躲避敌机 2.通过吃敌机爆炸后遗落的物品增加各种属性 3.双击战机放大技能 4.目前 ...

  3. Ubuntu 16.04应用布署小记

    本系列文章记录了升级Ubuntu 16.04的布署过程 回到目录 10. Dokuwiki 将虚拟目录配置文件链接到Apache2的可用的配置文件库中 sudo ln -s /opt/dokuwiki ...

  4. [转]iOS学习笔记(2)--Xcode6.1创建仅xib文件无storyboard的hello world应用

    转载地址:http://www.mamicode.com/info-detail-514151.html 由于Xcode6之后,默认创建storyboard而非xib文件,而作为初学,了解xib的加载 ...

  5. 在mac电脑上创建java的一些简单操作

    首先你要在电脑上下载一个JDK创造出一个java环境 如下第二个: 然后步奏如下: step1:苹果->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop ...

  6. Maven安装配置使用

    Maven介绍 Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理 ...

  7. R语言基本操作函数---变量的基本操作

    1.变量变换        as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x) ...

  8. Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)

    下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...

  9. JavaScript中数组迭代方法(jquery)

    var arr = [1,2,4,5,6]; //1.forEach(让数组中的每一项做一件事)arr.forEach(function(item,index){    console.log(ite ...

  10. CocoaPods的安装和使用

    一. CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具.在开发iOS应用时,会经常使用第三方类库,比如SDWebImage.AFNetworking等等,手动的下载与 ...