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. no.10京东咚咚架构演讲读后感

    京东之与旺旺相当于淘宝,他们都是服务于买家和卖家的沟通.京东咚咚的功能比较简单,实现了一个 IM 的基本功能,接入.互通消息和状态. 另外还有客服功能,就是顾客接入咨询时的客服分配,按轮询方式把顾客分 ...

  2. D语言-变量、输入、输出、注释

    Part 1:变量 D语言的变量有很多类型,这里只讨论几个基本类型 §1.1变量的定义方法 在D语言中,变量的定义方法是这样子的: [typename] [var1,var2,var3...] 其中, ...

  3. 墙壁涂色(DP)

    蒜头君觉得白色的墙面好单调,他决定给房间的墙面涂上颜色. 他买了 3 种颜料分别是红.黄.蓝,然后把房间的墙壁竖直地划分成 n 个部分,蒜头希望每个相邻的部分颜色不能相同. 他想知道一共有多少种给房间 ...

  4. CodeForces 51C 二分搜索

    校队选拔神马的事情就不说了,哥们反正是要崛起的人了! 感谢何骐的提醒. 校队选拔的时候又被二分给坑了,所以还想做几道二分搜索的题目来练练手. C - Three Base Stations Time ...

  5. SQL基础教程(第2版)第6章 函数、谓词、CASE表达式:6-2 谓词

    ● 谓词就是返回值为真值的函数. ● 可以将子查询作为IN和EXISTS的参数. 本节将会和大家一起学习 SQL 的抽出条件中不可或缺的工具——谓词(predicate).例如, =. <. & ...

  6. Ubuntu系统的软件源更换

    参考:https://www.daweibro.com/node/142 什么是Ubuntu的软件源? 我们在使用Debian或者Ubuntu的apt-get工具来安装需要的软件时,其实就是从服务器获 ...

  7. cisco3900板卡sm-es3g-24-p使用方法

    不知道是不是叫板卡,还是叫线卡希望不予深究.本文摘自:https://zhidao.baidu.com/question/1669814353056144947.html 插上板卡后,在配置界面仅显示 ...

  8. 吴裕雄--天生自然TensorFlow高层封装:Estimator-DNNClassifier

    # 1. 模型定义. import numpy as np import tensorflow as tf from tensorflow.examples.tutorials.mnist impor ...

  9. android implementation 依赖第三方库

    依赖第三方库

  10. MySQL--数据插入

    1.创建表的同时插入其他表的数据 CREATE TABLE table_name SELECT ... FROM    ... [...] 例: CREATE TABLE tabl_memory EN ...