EXAM-2018-7-24

未完成

  • [ ] G

签到水题 A J F

A:英文字母有2426个

J:注意long long

D:Transit Tree Path

我直接套了单源最短路的一个模板,有人用的是DFS,模板第一次用,记得是无向图。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+7;
const long long INF=1e17;
long long dist[maxn];
#define ll long long
bool vis[maxn];
struct node
{
int v,c;
node(int _v=0,int _c=0):v(_v),c(_c){}
bool operator <(const node &r) const
{
return c>r.c;
}
};
struct edge
{
ll v,cost;
edge(ll _v=0,ll _cost=0):v(_v),cost(_cost){}
};
vector<edge>str[maxn];
void dijk(int n,int start)
{
memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++) dist[i]=INF;
priority_queue<node>q;
while(!q.empty())
{
q.pop();
}
dist[start]=0;
q.push(node(start,0));
node tmp;
while(!q.empty())
{
tmp=q.top();
q.pop();
int u=tmp.v;
if(vis[u]) continue;
vis[u]=true;
for(int i=0;i<str[u].size();i++){
int v=str[tmp.v][i].v;
ll cost=str[u][i].cost;
if(!vis[v]&&dist[v]>dist[u]+cost)
{
dist[v]=dist[u]+cost;
q.push(node(v,dist[v]));
}
}
}
}
void add(int u,int v,int w)
{
str[u].push_back(edge(v,w));
}
int main()
{
int n;
scanf("%d",&n);
int a,b,c;
for(int i=0;i<n-1;i++){
scanf("%d%d%d",&a,&b,&c);
add(b,a,c);
add(a,b,c);
}
int k,q;
scanf("%d%d",&k,&q);
dijk(n,q);
for(int i=1;i<=k;i++){
scanf("%d%d",&a,&b);
printf("%lld\n",dist[a]+dist[b]);
}
return 0;
}

E Lemonade Line

完全是英语阅读理解,题目读不懂,看样例也很难看懂,其实代码很简单。

K 打地鼠游戏

单调队列,刚开始想复杂了,只要队列中有数比要插进来的数小就替换最小的

priority_queue<int, vector<int>, greater<int>>Q;

I 经营与开发

看了题解说什么正难则反一大堆,根本看不懂

终于找到一个有说服力的:

这个我对楼下做出点补充,记最终答案为ans,其实对于每个星球不管是维修还是资源型,都可以把对钻头的改变度记作一个常数k,而且k是有后效性的。我们先具一个i=4的例子,ans=wk1a1+wk1k2a2+wk1k2k3a3+wk1k2k3k4a4,即ans=w(k1a1+k1k2a2+k1k2k3a3+k1k2k3a4),进一步提公因式就是ans=w(k1(a[1]+k2(a[2]+k3(a[3]+k4a[4]))))(这叫什么数学名词来着,蒟蒻忘了),实际上对于每个a[i],a[i]前还要乘上一个符号变量t(维修+1,资源-1,不选乘0)。即ans=w(k1(t1a[1]+k2(t2a[2]+k3(t3a[3]+k4t4a[4]))))那么我们的题目就变为对每项选择最优的符号变量得出最大的答案值。照楼下的思路我们是要从最里面的括号开始推,确保每次括号里的值都最大。

这是因为我们要求的总问题就是使的w(内的值最大)。而每个阶段的决策是tia[i]+ki*(内的值)。因为后一项肯定为正,由最优子结构性质得(内的值一定是最大值)。这样以来楼下的思路就通了。

地址EXAM-2018-7-24

EXAM-2018-7-24的更多相关文章

  1. python中使用Opencv进行车牌号检测——2018.10.24

    初学Python.Opencv,想用它做个实例解决车牌号检测. 车牌号检测需要分为四个部分:1.车辆图像获取.2.车牌定位.3.车牌字符分割和4.车牌字符识别 在百度查到了车牌识别部分车牌定位和车牌字 ...

  2. China Cloud Computing Conference(2018.07.24)

    时间:2018.07.24地点:北京国家会议中心

  3. 2018.4.24 java实现8皇后算法

    import java.util.Scanner; public class Nqueens { private boolean verify(int[] arr,int i) { // TODO A ...

  4. 课堂笔记及知识点----树(2018/10/24(pm))

    树 概念:由一个或多个(n≥0)结点组成的有限集合 T, 有且仅有一个结点称为根( root), 当 n>1时,其余的结点分为 m(m≥0)个互不相交的有限集合 T1,T2, …, Tm.每个集 ...

  5. 课堂笔记及知识点----栈和队列(2018/10/24(am))

    栈: Stack<int>  xt=new Stack<int>() ; 先进后出,后进先出,水杯结构,顺序表类似 常用方法:   .pop---->出栈,弹栈     ...

  6. 2018.5.24 lvm创建pool

    在调试生产环境时遇到以下情况: 好奇心驱使下,发现是lvm的一个功能——lvm创建pool,就手动创建了相似的环境,操作截图如下: 主要命令: vgcreate -s 32M vg /dev/vdb1 ...

  7. 【资料下载区】【iCore4相关代码、资料下载地址】更新日期2018/02/24

    [iCore4相关文档][更新中...] iCore4原理图(PDF)下载iCore4引脚注释(PDF)下载iCore4机械尺寸(PDF)下载 [iCore4相关例程代码][ARM] DEMO测试程序 ...

  8. 2018.4.24 快排查找第K大

    import java.util.Arrays; /* 核心思想:利用快排思想,先假定从大到小排序,找枢纽,枢纽会把大小分开它的两边,当枢纽下标等于k时, 即分了k位在它左边或右边,也就是最大或最小的 ...

  9. 2018.4.24 flask_mail使用

    #!/flask/bin/python # -*- coding: utf-8 -*- from threading import Thread from flask import Flask fro ...

  10. EZ 2018 06 24 NOIP2018 模拟赛(二十)

    很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...

随机推荐

  1. java-正则表达式判断移动联通电信手机号

    package com.linbilin.phone; import java.util.regex.Matcher; import java.util.regex.Pattern; public c ...

  2. python之路(dingo 框架)

    Python之路  转载自QIMI老师  Python之路 第一篇:Python基础 PyCharm使用秘籍免费视频教程v3 ... 迭代器生成器 模块和常用内置模块 面向对象 面向对象进阶 网络编程 ...

  3. Nginx无法监听虚拟VIP的问题报:99: Cannot assign requested address

    99: Cannot assign requested address #本地网卡上没有10.0.0.3这个IPNginx就会报错: [root@lb01 conf]# /application/ng ...

  4. 使用labelImg制作自己的数据集(VOC2007格式)用于Faster-RCNN训练

    https://blog.csdn.net/u011956147/article/details/53239325 https://blog.csdn.net/u011574296/article/d ...

  5. Vue.js——5.生命周期

    Vue的生命周期 创建阶段new Vue1,beforeCreate() 表示在实例没有被创建出来之前会执行它加载data和methods2,caeated() data 和methods被初始化了 ...

  6. vue安装openlayers,jquery,bootstrap,阿里iconfont,

    安装 安装openlayers安装指定包安装openlayersVUE中的地图import ol from "openlayers";import "openlayers ...

  7. openlayers基础用例

    http://weilin.me/ol3-primer/ch03/03-01.html#http://weilin.me/ol3-primer/ //地址http://openlayers.org/ ...

  8. 吴裕雄--天生自然Linux操作系统:Linux 安装

    Linux 的安装,安装步骤比较繁琐,现在其实云服务器挺普遍的,价格也便宜,如果直接不想搭建,也可以直接买一台学习用用,参考各大云服务器比较:https://www.runoob.com/linux/ ...

  9. MySQL和Java数据类型对照表

    Java MySQL数据类型对照 类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述             VARCHAR L+N VARCHAR java.lang.S ...

  10. python os.path.dirname() abspath()

    测试文件的名称 path_test.py 先确定文件目录 (my_flask3) python@ubuntu:~/Desktop/flask_news_pro$ python path_test.py ...