文明6秦始皇开局怎么玩

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文明6秦始皇开局怎么玩相关的知识,希望对你有一定的参考价值。

文明6秦始皇攻略如下:
1.准备工作:为秦始皇准备部曲。在他的护卫舰上,检查船只载具上的水应该是经过蓄力时的。在帝王护卫舰上面,要有制衡能力,能够把水强制调入最大射程,最好是利用隐藏在水中的守舰战术。比如伯乐和强大的士兵,当他们登陆前或者在登陆时,会给他们几个士兵,递立陶戈给他们(类似在剑塔的推进器),使他们可以在海上不断攻击。

2.派兵:秦始皇在登舰前,可以先选择一些能够对付小型船只的,比如带船,带炮的,带枪的,带兵的。这些部队在这些部队面前都是十分渺小的,他们会很迅速地移动到海上,且攻击力非常强大,只要拖住他们几艘船,就能马上将其消灭。

3.用阵型:秦始皇不太行,就要在水上立一个阵,比如诸葛亮可以建一个将军亭,又或者孙武可以建一个将军阁,再来一个士兵,可以把这些部队迅速地引到水中。在水上立一个阵,是针对水军,只要他们一靠近,秦始皇的大军就会立即移动到岸上,且且再度移动之后,这样的部队会很迅速的攻击到他们。

4.保护兵力:很多人都说当曹操大军攻打许昌的时候,让刘表和曹操等人带上大军一同进攻,如果刘表的大军被困住了,刘备的军队根本就会被轻易地打垮。
参考技术A 开局套路
说到开局,玩过文明5的玩家都知道过神蹲妹子是必不可少的,抢妹子既省自己回合又拖慢了ai一举多得。
这一代的开局套路也跟上一代相同,不过抢的不是妹子了,而是移民。
在5里,移民被抢是只会变妹子的,但是6里还是可以坐地的移民,这就给了我们操作空间,把神级难度ai自带的两个移民全部变成自己的,难度直接变新手。
具体步骤
刷图是必不可少的,如果离你最近的ai隔了十万八千里,移民连渣都不会留给你。
首先开局存档,棒子侦察兵出门找ai的位置,注意留心的是ai分城的方位。以及可以踩到的蘑菇和首发的城邦。
这样找到最近的ai位置之后就可以读档了。
开局的位置最好有丘陵树和丘陵石头之类的1粮三锤的格子,这样侦察兵5回合就可以出门了。
回到初始档,棒子出门踩蘑菇以及首发科技文化和军事城邦,首都锤侦察兵。
侦察兵锤好直奔ai第一个分城的位置,注意要在11t之前赶到,不然ai12t必定坐城。
抢到第一个移民之后,直接就地坐城,出投石。侦察兵躲掉ai棒子的视野,往ai首都方向走。
ai的脑子是有问题的,你抢了他一个移民之后,第二个移民还会傻傻的往既定的一分方向走,而且一个兵都不跟,不抢天理难容啊,侦察兵在ai首都卡视野,大概2回合左右就可以抢掉第二个移民,可以在自己首都和对方首都中间铺一个,坐地出投石。
上述操作大概17、18t左右。
视角转回首都。棒子在探完首发城邦之后,要赶到第一个刷出来的小野寨子里(大概3到4t第一波就刷新了),野蛮人的狗头跑的太快,棒子追不上,所以直接往寨子里跑(地图上会显示),敲两下寨子里的枪兵,原地回血,这时候首都的投石也应该造好一两个回合了,直接往寨子赶。小野枪兵会主动攻击投石,然后投石补一刀,触发箭术尤里卡。
科技顺序直奔箭术,正好可以接到箭术尤里卡。这样三个城里的投石自动变小弓,已经出了的投石也可以升级,便宜的很。
然后我们科技顺序,探矿青铜然后轮子工程学,这里首都要补一个妹子,去触发石工、轮子的尤里卡,妹子之后出远古城墙触发工程学尤里卡。
首都的弓箭和打野的棒子投石(离家近先升级)赶到下一个小野寨子,路上杀一个侦察兵再加一个寨子的枪兵触发青铜尤里卡。
研发完成青铜之后,出两个枪兵。这样大概一共有6个弓箭手2枪兵。包围ai的首都,射三轮拿下。
第一家ai完灭。顺带一提,灭了ai之后你会发现蹦了一堆尤里卡出来,因为ai的首都一般都造了学院和好几个改良设施,然后系统判定,你建造了这么多东西。
第一家灭掉,然后大军直扑第二家,科技出弩手。需要补二至三个石弩。
ai对远古城墙的优先级很高,我见过最快的20t就出了,所以你到第二家的时候ai的首都是一定有远古城墙的,全弩手都打不掉。
在石弩赶到之前,我们先清掉ai的小兵,以及没有城墙的分城。(我开这把第二家ai见我在打第一家,也跟风宣了第一家,还把兵调过来了。直接全清掉了)。
石弩到了灭第二家。
这里要吐槽一下,这代玩家最大的敌人不是ai,是野蛮人啊。那刷新不要命的一样。
我灭第二家首都的时候,旁边两个小野寨子不停的刷骑兵出来,造成了我百分百的战损,直接导致我第二家都没灭完,留了个尾巴。
灭了第二家可以去打第三家,有好城就拿,没好城就烧,不要恋战,拿回合金走人就行了,现在是热火朝天的大跃进时间,可惜因为野蛮人我这个计划夭折了,只能去搞建设。
补充
先开建造者+0.3生产力的卡,剩一个回合,换成+2的卡。配合金字塔始皇,7劳动力。
然后砍树,建造顺序,建造者、商业区、商路、学院、剧院、工业区。娱乐区2-3,剧院3-4,学院工业全部。
商路外连攒金币开单元格,计算好工业区。
建造者总计20个以上。
坐等胜利就行了,大概种田150t

51 nod 1427 文明 (并查集 + 树的直径)

1427 文明技术分享

题目来源: CodeForces

基准时间限制:1.5 秒 空间限制:131072 KB 分值: 160 难度:6级算法题
 

安德鲁在玩一个叫“文明”的游戏。大妈正在帮助他。

这个游戏里面有n个城市和m条双向的道路。城市从1到n编号。对于每一对城市,他们之间要么有唯一的一条道路,要么就是不可互达。一条道路的定义是一个包含不同城市的序列 v1, v2,...,vk ,  vi  和  vi+1 (1 i < k)之间有直接的一条道路相连。这条道路的长度是k-1。两个城市在同一区域的条件是当且仅当他们之间可以互达。

在游戏过程中,会有两个事件。

1.    安德鲁问大妈,城市x所在的区域里面最长的道路是多长。

2.    安德鲁要求大妈,合并城市x和城市y所在的区域。如果这两个城市本来在同一个区域,那么就不用合并。否则合并两个区域:从城市x所在区域选一个城市,再从城市y所在区域选一个城市,然后给这两个城市连一条边。选择这两个城市的时候要使得合并之后的区域里面最长道路尽可能小。如果有多种方案,任选一种即可。

大妈发现这些问题好难哦,所以他想请你来帮助一下。

Input
单组测试数据。
第一行包含三个整数n,m,q(1 ≤ n ≤ 3*10^5; 0 ≤ m < n; 1 ≤ q ≤ 3*10^5),分别表示城市数目,道路数目,查询数目。
接下来m行,每行有两个整数 ai 和bi (ai ≠ bi; 1 ≤ ai, bi ≤ n)。表示ai和bi之间有一条直接相连的道路。两个城市之间最多有一条直接相连的道路。
接下来q行的格式是下列之一:
1 xi 。(1 ≤ xi ≤ n)。这种情况要查询当前xi所在的区域的最长道路。
2 xi yi。 (1 ≤ xi, yi ≤ n)。这种情况下要求合并xi和yi所在的区域。注意:xi和yi可能是一样的。
Output
对于第1类查询,输出当前区域的最长路径长度。
Input示例
6 0 7
2 1 2
2 3 4
2 5 6
2 3 2
2 5 3
1 1
1 1
Output示例
4
4

 

 

/*
51 nod 1427 文明 (并查集 + 树的直径)

problem:
给你n个城市,m条双向边连接,然后是q个查询
1 x: 城市x所在的区域的最长道路
2 x y:将两个城市的所在区域连接,要求维护最长路最短.

solve:
一个区域的最长路就相当于树的直径.因为两个城市之间最多只有一条路径.
合并的话,如果要求最短,那么相当于将两条直径的中点相连. 所以已知A,B的直径可计算出新的直径的值
(注意还要与A,B的直径进行下比较).
先处理出每个区域的树的直径.然后可给每个区域打上标记,用并查集合并维护一下区域的树的直径.

hhh-2016/09/27-17:21:09
*/
#pragma comment(linker,"/STACK:124000000,124000000")
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <vector>
#include <map>
#include <math.h>
#define lson  i<<1
#define rson  i<<1|1
#define ll long long
#define clr(a,b) memset(a,b,sizeof(a))
#define key_val ch[ch[root][1]][0]
using namespace std;
const int maxn = 3e5 + 100;
const int inf = 0x3f3f3f3f;
const ll mod = 1000000007;
const double eps = 1e-7;
template<class T> void read(T&num)
{
    char CH;
    bool F=false;
    for(CH=getchar(); CH<‘0‘||CH>‘9‘; F= CH==‘-‘,CH=getchar());
    for(num=0; CH>=‘0‘&&CH<=‘9‘; num=num*10+CH-‘0‘,CH=getchar());
    F && (num=-num);
}
int stk[70], tp;
template<class T> inline void print(T p)
{
    if(!p)
    {
        puts("0");
        return;
    }
    while(p) stk[++ tp] = p%10, p/=10;
    while(tp) putchar(stk[tp--] + ‘0‘);
    putchar(‘\n‘);
}

struct node
{
    int v,next;
} edge[maxn << 1];
ll Max;
int tot,pos;
int head[maxn];
int vis[maxn];
//int ans[i];
int pre[maxn];
struct Node
{
    ll dis;
    int pre;
} pnode[maxn];
void init(int n)
{
    memset(head,-1,sizeof(head));
    tot = 0;
    for(int i = 1; i <= n; i++)
    {
        vis[i] = 0;
        pnode[i].pre = i;
        pnode[i].dis = 1;
    }
}
void add_edge(int u,int v)
{
    edge[tot].v = v,edge[tot].next = head[u],head[u] = tot ++;
}

void dfs(int u,int fa,ll len,int anc)
{
    vis[u] = 1;
    pnode[u].pre = anc;
    if(len > Max)
    {
        Max = len;
        pos = u;
    }

    for(int i = head[u]; ~i; i = edge[i].next)
    {
        int v = edge[i].v;
        if(v == fa)
            continue;
        dfs(v,u,len + 1LL,anc);
    }
}


void cal(int now)
{
    int from;
    pos = 0,Max =0 ;
    dfs(now,-1,0,now);
    from = pos;
    pos = 0,Max = 0;
    dfs(from,-1,0,now);
    pnode[now].dis = Max;
}


int fin(int u)
{
    if(pnode[u].pre != u)
        return pnode[u].pre = fin(pnode[u].pre);
    return u;
}

void unio(int u,int v)
{
    int ta = fin(u);
    int tb = fin(v);

    if(ta == tb)
        return ;
    if(ta > tb)
        swap(ta,tb);
    pnode[ta].pre =tb;
    ll tMax = 0;
    tMax = max(pnode[ta].dis,pnode[tb].dis);
    tMax = max(tMax,(pnode[ta].dis+1LL)/2LL+(pnode[tb].dis + 1LL)/2LL + 1LL);
    pnode[tb].dis = tMax;
    pnode[ta].dis= tMax;
}

int main()
{
    int n,m,q;
    int u,v,ob;
    read(n),read(m),read(q);
    init(n);
    for(int i = 1; i <= m; i++)
    {
        read(u),read(v);
        add_edge(u,v);
        add_edge(v,u);
    }
    for(int i = 1;i <= n;i++)
    {
        if(!vis[i])
            cal(i);
    }
    for(int i = 1; i <= q; i++)
    {
        read(ob);
        if(ob == 1)
        {
            read(u);
            int ta = fin(u);
            print(pnode[ta].dis);
        }
        else
        {
            read(u),read(v);
            unio(u,v);
        }
    }
    return 0;
}

  

以上是关于文明6秦始皇开局怎么玩的主要内容,如果未能解决你的问题,请参考以下文章

秦始皇出游引发的故事

离谱!秦始皇每天都在做这个。。。

“数字货币”战争打响,DCEP要统一“世界度量衡”?

趣说货币史 | 数字货币大一统,未来资产交易的“新秦始皇时代”

DC EP要统一“ 世界度量衡”,数字货币打开财富大门

HDU 4081Qin Shi Huang&#39;s National Road System(最小生成树+最小瓶颈路)