GVKun编程网logo

有多个推销员的旅行推销员?(有多个推销员的旅行推销员怎么办)

15

在本文中,我们将给您介绍关于有多个推销员的旅行推销员?的详细内容,并且为您解答有多个推销员的旅行推销员怎么办的相关问题,此外,我们还将为您提供关于10个实用的UX设计作品推销小窍门、NOIP2015推

在本文中,我们将给您介绍关于有多个推销员的旅行推销员?的详细内容,并且为您解答有多个推销员的旅行推销员怎么办的相关问题,此外,我们还将为您提供关于10 个实用的 UX 设计作品推销小窍门、NOIP 2015 推销员、NOIP2015 T4 推销员、[普及]NOIP 2015 推销员 贪心的知识。

本文目录一览:

有多个推销员的旅行推销员?(有多个推销员的旅行推销员怎么办)

有多个推销员的旅行推销员?(有多个推销员的旅行推销员怎么办)

我有一个问题已被有效地简化为具有多个推销员的旅行推销员问题。我有一个从初始位置访问的城市列表,并且必须访问销售人员数量有限的所有城市。

我试图提出一种启发式方法,想知道是否有人可以伸出援手。例如,如果我有20个城市有2个销售人员,那么我考虑采用的方法是2步方法。首先,将20个城市随机分为10个城市,每个城市有2个推销员,然后我会发现每个城市的巡回演出似乎都是独立的,只有几次迭代。之后,我想交换城市或将城市分配给另一位推销员,然后找到旅行团。实际上,这将是TSP,然后是最小制造期问题。这样做的问题是,它太慢了,很难很好地邻里交换或分配城市。

任何人都可以就我可以如何改善上述情况提出建议吗?

编辑:

每个城市的地理位置都是已知的,推销员的起点和终点都在相同的地方。目标是最大程度地减少最大行驶时间,从而解决这种最小的制造跨度问题。因此,例如,如果salesman1花费10个小时,而salesman2花费20个小时,则最长行驶时间将是20个小时。

10 个实用的 UX 设计作品推销小窍门

10 个实用的 UX 设计作品推销小窍门

OSC 请你来轰趴啦!1028 苏州源创会,一起寻宝 AI 时代

以下内容由 Mockplus(摹客)团队翻译整理,仅供学习交流,Mockplus 是更快更简单的原型设计工具

 

 

众所周知,产品用户体验很重要,即使是 Google 也知道这一点。但是,当真正涉及到 UX 设计销售时,往往会让人觉得似乎并没有人认识到其重要性。因为,当我们提出这些想法时,客户也好,同事也好,都表现出了完全难以理解的状态。那么我们究竟怎样才能更好地服务客户,并让我们所做的事情更有价值的呢?以下为大家介绍 10 个能够改善产品 UX 设计销售的小窍门,希望对大家有所帮助:

1. 用户体验设计不是关于你,更不是关于用户

当你完成产品 UX 设计时,所有工作都是与用户相关联的。但当你销售它时,就不再与用户相关了。因为,当你向用户推销它时,你需要解决的是用户的需求,需要花时间来了解他们的想法与需要。最终达到减轻他们的痛苦或帮助他们提升产品或个人知名度的目的。只有这样,他们才会开始关注你。尽管,这些可能并不会让他们马上购买你的设计。

2. 检测和调整你的销售方法

事实和数字分析是提出一个优秀营销策划的重要依据。但是,没完没了,缺乏个性的事实和数字罗列,又会使人感到不快。所以,你需要做的是,在展示这些事实和数据的过程中,加入一些你的想法和个性。你表现得越是风趣可爱,就越容易赢得用户的心。而且,有时,如果你愿意,你的热情也是可以感染到他们的。相反,毫无感情投入的销售,是很难让你卖出任何产品的。

 

3. 创造情景预热你的的设计

创建一个既对用户可见又易于其访问,同时也能方便你上传各种与 UX 设计作品相关信息的在线平台。展示出你完成 UX 设计的过程中发生了什么,为什么会发生这些事,你做了哪些努力以及最终获得了什么结果等等。总之,当用户对你所做的事有所了解了,才能更简单的根据他们自己的需求询问相关情况。当然,也并不是说,所有的推销活动都要在 20 分钟内的高压环境下进行。有时,一个渐进的预热过程也能帮助你赢的客户的心。

4. 客户也可以帮助你推销

在销售过程中,没有什么比满意客户的赞美更有说服力。所以,把你过去做过的好的案例搜集起来进行分析, 并添加一些新的建议分发给客户。当然,其中一定要包含一些直接来自老客户的赞美或评语(当然,必要的话,仅供参考),给你的客户提供一个更好的购买理由。过去的销售成果并不能每次都帮你获得更好的结果,但却好过每次都从头做起,不是吗?

 

5. 准备一个清晰灵活的销售方案

制定一个明确显示投入和支出的销售计划,使客户更直观的了解到在这个销售计划实施过程中,他们能够得到什么,以及为什么他们应该投资这个计划。当然,也不要忘记,这个计划也应该考虑到用户需求。例如,如果用户的需求发生了合理的改变,这个计划也应该做出相应的调整,适应他们需求的变化。而且,也不要害怕适时更新这些销售计划,因为这样能够帮助你赢得更多的购买客户。销售过程中制定的计划都不可能一劳永逸且长期实用,UX 设计销售计划也是如此。

6. 为客户定制销售文档和可交付物

你制作的销售文档和可交付物可能会在某时某地对某个客户有用,但并不可能对所有客户都起作用。因此,推销过程中,尽量准备多样的销售文档或交付物,保证即使与具有不同需求的客户交流,也能应对自如。例如,一些用户可能需要详细而有深度报告,而有些客户则可能需要更加有趣直观的漫画版本等等。为客户定制不同的销售文档和可交付物,可以成为你 UX 实际推销中的一个卖点。

 

7. 了解客户对于各种假设的认识和看法

设想是一切麻烦的源头。设想会将你和我都变成傻瓜。你知道吗? 召开销售会议往往是为了发现客户的需求。然而,针对这些需求所制定的应对方法或方案都只是你自己做出的假设。记住要及时与客户沟通,分享这些设想,了解他们是否真正赞成这些想法。

尽管这些做法并不能帮助你直接增加销售订单,但却能够为你避免很多面对客户时出现的尴尬的时刻。而你也最好将你的的专业知识用于解决客户问题,尽管这些可能与你之前所做的事情非常相似...... 但是,他们也不太可能完全一样,因为客户时常会希望获得不同的结果。

8. 学会使用风险

你需要为你的客户预见一些产品开发结束后,可能会发生的一些不好的事。以及这些事可能会对他们的工作,企业或生活产生哪些不良的影响等等。当然,如果你能够适当的提出一些对应的解决方案,帮助他们避免更加严重的问题出现。 那么客户就会更趋向于最终与你合作。因为,对于一些公司来说,大额销售要远比购买订书机的风险大,所以他们在作出决定时也会更谨慎。 然而当你展现出对风险的准确把握和深度了解之后,会让他们觉得你更能帮助他们解决和管理好这些风险, 从而愿意与你合作。

9. 多咨询,少说话

越多地倾听客户的心声,你就会越了解他们。提出问题是好的,但也要学会闭上你的嘴,多让客户说说。这是一个此消彼长的平衡过程。不然,销售过程就会永久持续下去,没有结果。但是…… 事实上,大多数销售人员却说太多,听太少。而这方面,如果你想知道哪些问题是应该询问用户并用心倾听的,你可以多看看 Neil Rackham 出色的 SPIN 销售手册。

10. 尽可能使用数据支撑你的观点

数据,表格,图形和报价等都能更有力的论证你的观点。当你的客户对某些事情不太确定时, 你需要用数据告诉他们,他们不是唯一想到这些问题的人。这可能就是你与你的竞争对手之间最大的区别, 因为很多的销售人员除了大吼大叫,并未提供任何强有力的证据佐证他们的观点。当然,也不要尝试提供一些你不太确定的证据,以防出现你可能并不能找到对应的数据进行支持的情况。

结语

如果你并不了解应该如何进行销售,那么你的 UX 设计作品的销售工作举步维艰。所以,这里为大家介绍了上面 10 个销售小窍门,帮助大家减少焦虑,同时也能让大家更多的专注于能为客户带来什么。因为只有这样,才能让你获得更好的销售成果和更多满意客户。

原文:

https://www.interaction-design.org/literature/article/10-ideas-to-help-you-sell-ux-work

Mockplus 做原型,更快更简单,现在下载 Mockplus,免费体验畅快的原型设计之旅。

NOIP 2015 推销员

NOIP 2015 推销员

洛谷 P2672 推销员

洛谷传送门

JDOJ 2994: [NOIP2015]推销员 T4

JDOJ传送门

Description

阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户。螺丝街一共有N家住户,第i家住户到入口的距离为Si米。由于同一栋房子里可以有多家住户,所以可能有多家住户与入口的距离相等。阿明会从入口进入,依次向螺丝街的X家住户推销产品,然后再原路走出去。

阿明每走1米就会积累1点疲劳值,向第i家住户推销产品会积累Ai点疲劳值。阿明是工作狂,他想知道,对于不同的X,在不走多余的路的前提下,他最多可以积累多少点疲劳值。

Input

第一行有一个正整数N,表示螺丝街住户的数量。
接下来的一行有N个正整数,其中第i个整数Si表示第i家住户到入口的距离。数据保证S1≤S2≤…≤Sn<108。
接下来的一行有N个正整数,其中第i个整数Ai表示向第i户住户推销产品会积累的疲劳值。数据保证Ai<103。

Output

输出N行,每行一个正整数,第i行整数表示当X=i时,阿明最多积累的疲劳值。

Sample Input

5 1 2 2 4 5 5 4 3 4 1

Sample Output

12 17 21 24 27

HINT

【样例说明】 X=1:向住户4推销,往返走路的疲劳值为4+4,推销的疲劳值为4,总疲劳值4+4+4=12。 X=2:向住户1、4推销,往返走路的疲劳值为4+4,推销的疲劳值为5+4,总疲劳值4+4+5+4=17。
X=3:向住户1、2、4推销,往返走路的疲劳值为4+4,推销的疲劳值为5+4+4,总疲劳值4+4+5+4+4=21。 X=4:向住户1、2、3、4推销,往返走路的疲劳值为4+4,推销的疲劳值为5+4+3+4,总疲劳值4+4+5+4+3+4=24。或者向住户1、2、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值为5+4+4+1,总疲劳值5+5+5+4+4+1=24。 X=5:向住户1、2、3、4、5推销,往返走路的疲劳值为5+5,推销的疲劳值为5+4+3+4+1,总疲劳值5+5+5+4+3+4+1=27。

【数据说明】 对于20%的数据,1≤N≤20;
对于40%的数据,1≤N≤100;
对于60%的数据,1≤N≤1000;
对于100%的数据,1≤N≤100000。

Source

NOIP2015普及组

为什么标签会是树状数组呢?

题解:

这题运用的是贪心的思想,也用了一点点的DP思想,不过看大体的意思,还是贪心。

那么贪心策略是什么呢?我们说贪心总是离不开排序,那这个排序咋排呢??

首先我们按照推销难度排序。

大的在前。

然后我们可以用dp数组表示前i个元素里最大的疲劳值是什么。

注意这可不是答案,你要知道你排序之后的顺序就被完全打乱了,你也不知道哪个在前哪个在后,你只知道这个东西大不大而已。

多以我们再用一个dp1数组进行第二遍DP,统计的是第i个元素的路径最大值。

最后我们比较q数组(单比较推销难度)加上对应的DP数组,和q数组和DP1数组比较就行。

取最大值:

代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct home
{
    int s,val;
}a[100010];
int q[100010];
int dp[100010],dp1[100010];
int n;
bool cmp(home a,home b)
{
    return a.val>b.val;
}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i].s);
    for(int i=1;i<=n;i++)
        scanf("%d",&a[i].val);
    sort(a+1,a+1+n,cmp);
    for(int i=n;i>=1;i--)
        dp[i]=max(dp[i+1],2*a[i].s+a[i].val);
    for(int i=1;i<=n;i++)
        dp1[i]=max(dp1[i-1],a[i].s);
    for(int i=1;i<=n;i++)
        q[i]=q[i-1]+a[i].val;
    for(int i=1;i<=n;i++)
        printf("%d\n",max(q[i-1]+dp[i],q[i]+2*dp1[i]));
    return 0;
} 

NOIP2015 T4 推销员

NOIP2015 T4 推销员

题面

【问题描述】

阿明是一名推销员,他奉命到螺丝街推销他们公司的产品。螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住房。螺丝街一构有N 家住房,第i 家住户到入口的距离为si 米。由于同一栋房子里可以有多家住户,所以可能有多家住房与入口的距离相等。阿明会从入口进入,依次向螺丝街的X 家住房推销产品,然后再原路走出去。阿明每走1 米就会积累1 点疲劳值,向第i 家住房推销产品会积累Ai 点疲劳值。阿明是工作狂,他想知道,对于不同的X,在不走多余路的前提下,他最多可以积累多少点疲劳值。

【输入格式】

第一行有一个正整数N,表示螺丝街住房的数量。

接下来的一行有N 个正整数,其中第i 个整数Si 表示第i 家住户到入口的距离。数据保证S1≤s2≤…≤Sn≤10^8。

接下来的一行有N 个整数,其中第i 个整数Ai 表示向第i 户住户推销产品会积累的疲劳值。数据保证Ai<10^3。

【输出格式】

输出N 行,每行一个正整数,第i 行整数表示当X=i 时,阿明最多积累的疲劳值。

思路

我见过NOIP T4最水的题,没有之一。

这道题算法为贪心(废话),但应该怎么贪呢?

首先,通过我们分析可得,最大值一定是取x个最大值+2*已取数的最大距离或x-1个最大值+2*所有数的最大距离+最远且最大的数。所以需要三个数组,sum(前x个数的总和),maxlen(前x个数最远距离),h(2*所有数的最大距离+最远且最大的数)

代码

1 #include

2 using namespace std;

3 int n,sum[100005],maxlen[100005],h[100005];

4 struct node{int s,a;}x[100005];

5 bool cmp(node p,node q)

6 {

7 return p.a>q.a;

8 }

9 int main()

10 {

11 cin>>n;

12 for (int i=1;i<=n;i++) cin>>x[i].s;

13 for (int i=1;i<=n;i++) cin>>x[i].a;

14 sort(x+1,x+n+1,cmp);

15 for (int i=1;i<=n;i++) sum[i]=sum[i-1]+x[i].a;

16 for (int i=1;i<=n;i++) maxlen[i]=max(maxlen[i-1],x[i].s);

17 for (int i=n;i>=1;i--) h[i]=max(h[i+1],x[i].s*2+x[i].a);

18 for (int i=1;i<=n;i++) cout<

19 return 0;

20 }

[普及]NOIP 2015 推销员 贪心

[普及]NOIP 2015 推销员 贪心

NOIP 2015 推销员 

题意:

    有一个喜欢疲劳的推销员,告诉你在一个单口胡同(数轴)中的n户家庭的位置,和向他们推销可以获得的疲劳度。分别输出向(1,2,3,4...n)户人家推销可以得到的最大疲劳值。对了,这个推销员走一格,疲劳度也会加一。

思路:

  贪心,首先按每户人家的推销疲劳度从大到小排序,考虑选定一组,走路带来的疲劳度是定的,就是最远那个*2.

所以对于每个答案= max(sum[ i ]  + mx * 2 , sum [i - 1] + h[i] )。其中sum是排序后对推销疲劳度做的前缀和,而h[i] 保存 从 i 到 n中,最大的(2 * 距离 + 推销疲劳度)。

 

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <vector>
#include <map>
#include <set>
#include <queue>
#include <list>
#include <cstdlib>
#include <iterator>
#include <cmath>
#include <iomanip>
#include <bitset>
#include <cctype>
using namespace std;
//#pragma GCC optimize(3)
//#pragma comment(linker, "/STACK:102400000,102400000")  //c++
#define lson (l , mid , rt << 1)
#define rson (mid + 1 , r , rt << 1 | 1)
#define debug(x) cerr << #x << " = " << x << "\n";
#define pb push_back
#define pq priority_queue



typedef long long ll;
typedef unsigned long long ull;

typedef pair<ll ,ll > pll;
typedef pair<int ,int > pii;
typedef pair<int ,pii> p3;
//priority_queue<int> q;//这是一个大根堆q
//priority_queue<int,vector<int>,greater<int> >q;//这是一个小根堆q
#define fi first
#define se second
//#define endl ''\n''

#define OKC ios::sync_with_stdio(false);cin.tie(0)
#define FT(A,B,C) for(int A=B;A <= C;++A)  //用来压行
#define REP(i , j , k)  for(int i = j ; i <  k ; ++i)
//priority_queue<int ,vector<int>, greater<int> >que;

const ll mos = 0x7FFFFFFFLL;  //2147483647
const ll nmos = 0x80000000LL;  //-2147483648
const int inf = 0x3f3f3f3f;
const ll inff = 0x3f3f3f3f3f3f3f3fLL; //18
const double PI=acos(-1.0);

template<typename T>
inline T read(T&x){
    x=0;int f=0;char ch=getchar();
    while (ch<''0''||ch>''9'') f|=(ch==''-''),ch=getchar();
    while (ch>=''0''&&ch<=''9'') x=x*10+ch-''0'',ch=getchar();
    return x=f?-x:x;
}
// #define _DEBUG;         //*//
#ifdef _DEBUG
freopen("input", "r", stdin);
// freopen("output.txt", "w", stdout);
#endif
/*-----------------------show time----------------------*/

            const int maxn = 1e5+9;
            struct node
            {
                int s,p;
            }a[maxn];
            bool cmp(const node &a,const node &b){
                return a.p > b.p;
            };
            int sum[maxn],mx,h[maxn]; 
int main(){ 
            int n;
            scanf("%d", &n);
            for(int i=1; i<=n; i++)scanf("%d", &a[i].s);
            for(int i=1; i<=n; i++)scanf("%d", &a[i].p);
            sort(a+1,a+1+n,cmp);

            for(int i=1; i<=n; i++){
                sum[i] = sum[i-1] + a[i].p;
            }
            for(int i=n; i>=1; i--){
                h[i] = max(h[i+1],a[i].s * 2 + a[i].p);
            }

            for(int i=1; i<=n; i++){
                if(mx < a[i].s) mx = a[i].s;
                int tmp = sum[i] + 2 * mx;
                tmp = max(tmp , sum[i-1] + h[i]);
                printf("%d\n", tmp);
            }
            return 0;    
}
LUOGU 2672

 

我们今天的关于有多个推销员的旅行推销员?有多个推销员的旅行推销员怎么办的分享就到这里,谢谢您的阅读,如果想了解更多关于10 个实用的 UX 设计作品推销小窍门、NOIP 2015 推销员、NOIP2015 T4 推销员、[普及]NOIP 2015 推销员 贪心的相关信息,可以在本站进行搜索。

本文标签: