APP注册登录功能设计全方位解析

solution

正解:扩展卢卡斯
因为 \(a-b\)
很有点,考虑怎么把架子变成和 \(a-b\)
有关.
考虑 \(a=b\)
的状态,考虑结果但发生胜负和平局三种,而且输赢是针对性如之,所以减去平局就算是答案,所以答案吧
\((2^{a+b}-C(2a,a))/2\).
\(a>b\)
时,同样在对称性,对于正着会输,反过来就赢得情况,就是 \(2^{a+b}/2\) 种
对于刚着倒着都赢之情况还不曾算进来:

\[\sum_{i=1}^{b}\sum_{j=1}^{a-b-1}C_{b}^{i}*C_{a}^{i+j}\]
\[\sum_{i=1}^{b}\sum_{j=1}^{a-b-1}C_{b}^{b-i}*C_{a}^{i+j}\]
\[\sum_{j=1}^{a-b-1}C_{a+b}^{b+j}\]
\[\sum_{j=b+1}^{a-1}C_{a+b}^{j}\]
对于除2,根据对称性,只算是一半即可,注意偶数情况,存在一样桩需要手动除2,算2时当因子中减去,算5时直随着逆元即可

#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
#define RG register
#define il inline
#define iter iterator
#define Max(a,b) ((a)>(b)?(a):(b))
#define Min(a,b) ((a)<(b)?(a):(b))
using namespace std;
typedef long long ll;
const int N=2500005;
ll qm(ll x,ll k,ll MO){
    ll sum=1;
    while(k){
        if(k&1)sum*=x,sum%=MO;
        x*=x;x%=MO;k>>=1;
    }
    return sum;
}
ll v[2][N],mod,K;
void priwork(){
    int lim=qm(2,9,N);
    v[0][0]=v[1][0]=1;
    for(RG int i=1;i<=lim;i++){
        v[0][i]=v[0][i-1]*((i&1)?i:1);
        v[0][i]%=lim;
    }
    lim=qm(5,9,N);
    for(RG int i=1;i<=lim;i++){
        v[1][i]=v[1][i-1]*((i%5)?i:1);
        v[1][i]%=lim;
    }
}
inline void exgcd(ll a,ll b,ll &x,ll &y){
    if(!b)x=1,y=0;
    else exgcd(b,a%b,y,x),y-=a/b*x;
}
inline ll ni(ll a,ll b){
    ll x,y;
    exgcd(a,b,x,y);
    x%=b;if(x<0)x+=b;
    return x;
}

inline ll Fac(ll n,ll p,ll pr){
    if(n==0)return 1;
    ll re=v[p!=2][pr]%pr;
    re=qm(re,n/pr,pr);
   ll r=n%pr;
    re=re*v[p!=2][r]%pr;
    return re*Fac(n/p,p,pr)%pr;
}

inline ll C(ll n,ll m,ll p,ll pr,bool t){
    if(n<m)return 0;
    ll c=0;
    for(RG ll i=n;i;i/=p)c+=(i/p);
    for(RG ll i=m;i;i/=p)c-=(i/p);
    for(RG ll i=n-m;i;i/=p)c-=(i/p);
    if(t && p==2)c--;
    if(c>=K)return 0;
    ll x=Fac(n,p,pr),y=Fac(m,p,pr),z=Fac(n-m,p,pr);
    ll re=x*ni(y,pr)%pr*ni(z,pr)%pr*qm(p,c,pr)%pr;
    if(t && p==5)re=re*ni(2,pr)%pr;
    return (mod/pr)*ni(mod/pr,pr)%mod*re%mod;
}

inline ll lucas(ll n,ll m,ll k,bool t){
    ll MOD=qm(2,k,N),re=0;
    re=(re+C(n,m,2,MOD,t))%mod;
    MOD=qm(5,k,N);
    re=(re+C(n,m,5,MOD,t))%mod;
    return re;
}
ll work(ll n,ll m,ll k)
{
    ll ans=0;mod=qm(10,k,1e9+5);
    if(n==m)
         return ((qm(2,n+m-1,mod)-lucas(n+m,n,k,1))%mod+mod)%mod;
    for(ll i=(n+m)/2+1;i<n;i++){
        ans+=lucas(n+m,i,k,0);
        ans%=mod;
    }
    if((n+m)%2==0)ans=(ans+lucas(n+m,(n+m)/2,k,1)%mod+mod)%mod;
   return (qm(2,n+m-1,mod)+ans)%mod;
}
inline void Print(ll x,ll c){
    if(c==1)printf("%lld\n",x);if(c==2)printf("%02lld\n",x);
    if(c==3)printf("%03lld\n",x);if(c==4)printf("%04lld\n",x);
    if(c==5)printf("%05lld\n",x);if(c==6)printf("%06lld\n",x);
    if(c==7)printf("%07lld\n",x);if(c==8)printf("%08lld\n",x);
    if(c==9)printf("%09lld\n",x);
}
int main()
{
    priwork();
    ll a,b,c,d;
    while(~scanf("%lld%lld%lld",&a,&b,&c)){
        K=c;d=work(a,b,c);
        Print(d,c);
    }
    return 0;
}

邮箱注册、手机号报、第三在账户注册,这么多措施应选哪种?

举凡当事先被用户注册或事先被用户以?先叫用户以的话,应该以安的火候注册?

争的登记流程用户体验最好好?

局部细节问题:要无使加以图验证码?要无若吃用户手动勾选用户协议?要无设给用户安装头像?…

Description

小A和小B是同样针对好对象,他们时同快乐的玩耍。最近小B沉迷于**师手游,天天刷本,根本无意干上。但是
都入坑了几乎独月,却一样不好还未曾抽到SSR,让他格外怀疑人生。勤勉的小A为了劝说小B早日解除坑,认真读书,决
一定以丢硬币的款式被小B明白他是一个彻彻底底的非洲总人口,从而对之游戏绝望。两独人口同时抛b次硬币,如果小A
的纯正朝及之次数超过小B正面朝上的次数,则小A获胜。但实际,小A也早已迷过拉拉游戏,而且他同浅UR也
从未抽到了,所以他对此好之流年吧并未最非常把握。所以他决定以小B没放在心上的时节作弊,悄悄地大多委几不良硬币
,当然,为了不给小B怀疑,他不会见弃太累。现在小A想问问您,在聊种可能的状下,他能够胜了小B呢?由于
答案可能最要命,所以你就待输出答案于十进制表示产的最后k位即可。

注册登录功能的设计细节

规定了统筹思路后,我们来看看设计登录注册功能受到,在细节上如果考虑怎么点。以WPS客户端也条例,我们分析一下记名注册功能的所有页面流程。其中,邮件验证成功、邮件重置密码、邮件重置密码成功三只页面也运用邮件客户端打开的Web端页面。整个流程逻辑清晰,引导流程的按钮突出鲜明突出,需要用户配合的操作都归因于文形式进行提示,用户以起来没阻碍。

于工艺流程设计着需注意的细节

·
注意页面跳转后是不是当来回退按钮,以及点击安卓底back键应该退回到谁页面。不应当退回到已经付出截止数据信息之页面。

· 重置密码成功后,一般应有归登录页,让用户输入新密码以便加深记忆。

·
注册成功后,一般的话会直接登录成功进入APP首页。但有些金融类对账户安全度要求较高的APP会在登记成功后返回登录页,让用户更输入一布满密码,以加重记忆。

·
在某些可能会见发十分的点(比如提交数据经常服务器异常、邮件或欠信不发送、响应超时等),一定搞好准备,一旦发生特别给用户合适的唤起。

·
考虑到是不是会是短信验证码,或证明邮件收不至之情,这种情景能无克提供备选方案。

功能设计时要注意的细节

①用户体验者

·
将邮箱和手机号输入框整合成一个,节省了上空提升了美观性,还抽了用户之操作步骤。

·
用户名密码这些自然填项非输入时,登录按钮为不可用状态,避免误操作带来的辛苦。

·
输入框中显示提示信息的道更加释放了镜头空间,让整画面更简明。但是注意输入框和提示文字的灰度要把好,太浅了灰难以察看。

·
画面中基本流程按钮突出展示,其它按钮最小化显示,根据重大程度足以拿颜色加以区分。

· 输入框的获取焦点时突出展示,以便在差不多只输入框时辨别焦点所处的位置。

·
错误提示一直显示在画面遭,不以弹出对话框的样式还是toast的样式实现。弹出对话框体验差,toast显示时间了差的讲话用户可能没有看清。

·
画面遭之输入框、按钮等重点控件尽可能在弹有软键盘时犹来得在屏幕及半有些,以便用户切换、确认等操作。

·
注册/登录失败的场面,提示信息应尽量详尽,是账户名出错还是密码出错,或者是手机号已经深受登记过了,越详细越好。

· 输入邮箱地址时,建议弹出自动补全效,自动进入大的信箱后缀。

·
发送验证邮件后,应该给用户详尽的证实与操作提示,也得以进入一个按钮跳反到对应的邮箱地址。

②效能逻辑方面

·
发送少信前可以弹出对话框提示确认一下手机号,这种做法得以为用户自动确认一下手机号是不是输入正确,节省了用户发错一长短信的基金。当然这种做法用户体验稍差。

·
注册页面考虑是否生必不可少在服务条款链接。个人认为无必要同时加入一个单选框让用户失去选,因为点击注册按钮就代表了许服务条款。

·
为避免频繁点击发送多次验证码,点击一浅发送验证码按钮后会见倒计时恢复法力,一般也60秒。

③安全性方面

· 密码输入框加入显示/隐藏按钮,默认为明文显示状态。防止用户输入错误。

·
一般情况下不需统筹“确认密码”输入框,考虑到活动装备空间有限、操作不便。但片针对密码安全要求严格的采取或会统筹“确认密码”功能。

· 密码输入错误了多时,考虑要无若进入验证码机制,以防止恶意破解密码。

·
短信验证环节,连续验证次数超过5浅时,考虑加盟验证码机制,以管教安全性,同时避免无谓的损失。

挂号登录功能的值

第一我们来分析注册、登录功能的价值于乌。换个角度说,为该产品设计注册登录功能的目的何?对于每个产品的话,只有把握好产品之统筹目标,才能够找到符合该产品的宏图思路。

咱由三独面来分析:

用户规模:

①用户需以成品受获得一个独立的ID,以反映其个性化的是。

②用户需要产品呢夫记录下快、状态、收藏的情。

③用户要得到任何用户的实事求是信息或者另行详实的信息。

④用户愿意产品通过对协调重新详实的问询提供再好的劳动。比如大姨也。

功能范围:

①就是为超设备并数据,也有利在同等设备遭遇切换不同之账户并保留账户前的状态。

②来组织及功能的活必须报账号为编制好之UGC的情节,同时有利于其它用户辨识。

③产生市功能的制品,为个人账户记录订单等交易信息,同时加强交易的安全性。

④起采取内付费、VIP会员增值效益的成品,注册登录可以保用户权益。

政工规模:

①得募对于基本业务非常关键之用户信息,比如手机号、真实姓名等信息。

②挂号登录后好采访推进运营的数据,以点活运营方向。

③用户激励:通过注册得到手机号、邮箱账户后,一些活通过为用户发短信或优惠券(送优惠券、活动推介)吸引用户,提高活跃度。

④消费转向:某些产品获手机号后,会下电话营销之道为客户推荐其付费服务。比如51Talk。

综上,在规划功能前,产品经营应该干明白而的制品目标属于以上哪些,注册账户功能的最主要怎样,哪些基本作用与该相关联。

结论

何以抉择注册登录的点子:

急需综合目标用户的使习惯跟制品业务需少者考虑。对于用户来说最合理的道是供多种可是挑选的报方式,给用户多样化的选。但考虑到工作需要与开发成本等要素,根据作业需跟目标用户习惯好筛选最适合的报方式。

哪选注册登录的火候:

除了以下几种植状态,建议先给用户以还登记。


软件功能限制必须先登记之,比如QQ、微信等社交软件,再依咕咚、小米运动这样的软件。


用户发生明确使用意愿以的出品,比如口碑非常强的、阶段性的爆品、能为用户占用及福利的。

③ 某一定业务由需要事先注册之。

报登录功能设计需小心的底细:

以确保流程设计整体的前提下,保证用户体验、功能逻辑、安全性尽可能设计周全。


最后,欢迎关注本身的微信公众号:MobileGuideline

解读移动设计规范,分析功能设计逻辑,整理产品设计思路。不标题党、不扯故事、专心研究产品设计。

登记登录方式的归类

当选取注册登录方式之前,先总结一下挂号登录设计时只要考虑的因素:

①普遍性:这种注册方式是否绝大部分用户群体还满足注册标准?是否来门路?

②尽管捷性:注册流程是否便利,易理解,易操作,易记忆?

③安全性:这种注册方式是否有安全性问题?

因上述评价因素,针对三种不同的报登录方式展开下于:

脚分别分析一下每种注册方式:

邮箱注册:

对立于手机号报,邮箱注册的补益在于邮箱地址可以永远留存,不会见生出部手机换号造成的那种困扰。但是其缺点也正如多:

率先,对于国内用户来说,邮箱的应用效率没有老外那么大,邮箱的机要远低于QQ、微信、手机,很多用户并未个人邮箱,他们吧无见面为注册你的账户去报名单邮箱,所以邮箱注册的需相对来说较弱。

辅助,在运动端采用邮箱注册的体会呢较差,因为证实邮箱的话语需要跳出APP去接受邮件,无论是登录邮件客户端还是打开浏览器上邮箱网页,这个操作都加强了流程的复杂度,降低了用户体验。

这就是说,邮箱注册是否还有在的价值?怎还有一些动保留了邮箱注册功能(或就提供了邮箱注册功能)呢?个人分析出四触及原因:

① APP的用户群体不只国内用户,考虑到外国人的动习惯,保留了邮箱注册。

② 一些商务类的APP,用户群体锁定为职场人士,这些人口是生邮箱的应用习惯的。

③ 一些学类的APP,考虑到学生群体换号的可能比较好(或出国)。

④ 考虑到有休盼暴露自己手机号,不甘于为此手机号报之用户群体。

邮箱注册时发生5种植设计逻辑:

比较这5种方式:

术①的效率最高,但是并未邮箱验证的讲话保证非了账户的安全性,若邮箱录入错误虽然无法搜索回密码。另外这种措施易让注册无效账户或恶意注册邮箱,浪费服务器资源。

方②同③还是飞注册成功,之后再行于用户通过邮箱验证的方式证明邮箱的可行。这种方法的好处是既保证了挂号信息之有效性和安全性,也无见面骤降太多的用户体验。其中措施③凡以APP中好邮箱的征,这样可以避免方式②蒙受用户注册后忘记去验证的问题。

术④和⑤底验证码(或链接)需要在报流程中劫持输入,这种措施会阻断用户的操作流程,有于报过程遭到损失用户之恐怕。如果邮箱信息对事情逻辑及其关键的话,可以参照这种措施。

若是邮箱信息发得要的说话,建议选择第三栽方法,以Facebook为条例:先登记,后经过发送至邮箱的验证码进行求证,在报后的首页中,会出认证邮箱的唤醒。

设考虑到降落开发成本,或邮箱信息没有那么要的话,可以第二种方式。

手机号报:

手机号报是现阶段主流的登记方式。其特色是有益记忆,短信验证码方便快捷,操作流程体验于好。基于智能手机的普及,大众用户以操作方法达成没有另外阻碍。另外,这种措施还能一直沾用户手机号者重点消息,便于一些工作的进行。

手机号报之逻辑非常简单,就是录入手机号码后,发起短信验证的恳求,当手机接到相应的短缺信验证码后,在APP中输入验证码,完成注册。

据悉此逻辑基础,不同的APP会发出两样的计划性细节,比如有的APP将持有操作放入一个页面被,比如有APP会分成:录入手机号->短信验证->设置密码三独页面来完成。也来一些直设计改为采取手机号和短信验证码登录的“短信快速登录”,省去了设置密码的环节,加快了挂号的进度。由于逻辑基本相同,这些办法实在流程上别不是非常特别。

此外还有几种不常用之无绳电话机号报方式,用来以收不至短信的景下准备。与短信验证的别主要是说明的历程不同:

① 主动说明:用户为客服号码发送验证短信注册。

② 免费热线:拨打电话活动验证码注册。

③ 语音说明:客服拨打用户电话告诉验证码。

最后,补充一个效率还胜似的报到注册方式。即将登录和报功能并到一个页面相同之控件被。操作方法是:当用户输入手机号后,移出问题时系统判断该手机号是否业已当数据库被展开了登记。如果都登记,则为用户继续输入密码;如果不注册,则网界面就变化成注册界面,在人间加入验证码输入框,以便用户完成注册。

其三正账户登录:

其三着账户登录,国内大规模的产生微信、微博、QQ三个社交平台的授权登录,国外普遍的还有Facebook、Twitter、Google。下面分析一下施用第三在账户登录的得失:

瑜1:为用户节省注册时,简单点击两生便可直接登陆。体验最佳。(不包微博说明总差的题目)

瑜2:利用第三着平台注册过之用户,都是由此手机要邮箱验证了的用户,安全可靠。同时引入第三正账户的法子吧拿账户安全性的问题抛给了第三方平台。

优点3:利用第三正值账户登录,可以当条件允许生获得第三正平台的音讯,比如好友信息、基础资料等信息。

症结:只下第三正值账户登录的话,无法取得其他发生价之用户注册信息,同时也构建不成为温馨的用户体系。这是第三方账户登录的最酷题目。

那么,如何以好第三正在登录的以,也会浸构建由好之用户体系也?诚如的做法是在第三正在账户登录后,立即弹出“绑定手机”或“完善信息”的页面,这样的做法会为用户带来十分不同的心得,用户使用第三着账户登录的原意就是超了注册的流水线快速登录,但登录后发现还要开展与注册相同的短信验证等操作,会觉得让打了千篇一律。所以,设计时许尽可能避免这种状态的有。

更合理的解决办法是:①每当绑定手机画面遭投入“Skip”按钮,让用户自动选择是否录入。②非以第三正值账户登录后旋即亮绑定手机画面,而是于以一些必要之功能时弹出绑定画面。

用户注册功能于一个APP的要紧毋庸置疑,然而注册功能又是公认的于设计中坑最多之效果,能够统筹好注册功能是一个佳产品经理的基础。那么,在规划注册功能过程遭到,你有无产生纠结于这些题材吗:

这次咱们来好好捋一捋注册登录设计过程被之逢的那些问题吧。

报登录方式的计划思路

以上分析了三种不同之注册登录方式,那么以产品设计过程被,如何统筹注册登录的流水线,如何挑选注册登录的法门也?

由不同出品所处的流不同、产品目标不同、人群定位不同,所以想使汲取一个标准答案是勿切实际的。下面给闹一个完完全全的解析思路:

首先,分析产品被用户注册登录的必要性。分析发没发出必不可少吗APP设计注册功能?而用户注册登录对于用户、产品功效、商业模式本身带来非来任何价值的语,就没有必要设计这样的效力。比如有的实用工具类的成品:计算器、手电筒、天气预报、安卓清理大师、语音助手等等。

下,分析产品受用户注册登录的目的是什么?也就算是这作用为按照产品带来哪些的值,从而得出其一APP应该先报后动要事先下后注册的判定。可以于用户、功能、业务三个范畴分析这个题材。注册登录功能于这三只规模的值第一略带节都说罢,但不同之活之求是免等同的。针对本产品,每个层面的急需都亟待认真的进行思考:


用户需要:从用户角度,分析用户期待注册产品之急切程度。用户率先软安装使用一个APP时,可以分为三栽不同的思想:

·
用户发生醒目希望使用产品。一栽状态是产品功能对用户来说非常有价,用户愿意花时间注册下,比如说有的手游、一些来花主播的直播类软件。另一样种状态是成品功效新奇特用户大像试试,比如FaceU,当女性用户观看了情人围里冒出了风趣新奇的FaceU靓照时,自己失去感受的愿望非常显著。用户发鲜明意愿以的活,完全好优先登记再次于用户失去采用。

·
用户愿意先用一用看看,好用了再登记。这就算跟体验式消费、先尝后买的思路是千篇一律的。由于大部分用户率先不善下一定是获取在试试看之情态来之,为了让用户留下最好的第一印象,先采取重复登记之流程是必要的。目前多数的活都是供这么的法门,如果你的APP不能够于用户产生众所周知的行使愿望,最好的挑选是优先为用户失去动,用好了重登记。

·
用户觉得没有必要注册,但产品的功力偶尔会用到。一些使用频度较逊色的APP,比如铃声、壁纸类软件,以及有工具+社交类的软件,对于用户来说注册功能对用户带来不了外价值,
这看似APP建议以先采取后报之法门。


功能需求:从效用角度思考,一栽情形是活之骨干职能对用户体系依赖程度很可怜时,可以事先挂号再次以。比如QQ、微信、陌陌这样的交际软件,不记名无法正常使用效能。另一样种情形是活某些意义要用户登录,但针对其他功能没有影响时,可以应用及拖欠功能时重登录。比如电商APP可以先浏览,在参加购物车或下单时还登录。


业务需求:从业务角度来判断,注册信息一旦对活为主业务大重要的话,可以设想优先登记的模式,或者常用之做法是上APP的第一屏是报页面,但以角落里养“游客入口”的按钮。当然,如果单单是为获得用户之手机号等消息,也无必然不要经挂号就同样种途径。可以在活效果页面被引导用户录入信息或报。比如驾考宝典的“帮你选车”的小测试功能,再比如设计君的“咨询规划师”功能。

末了,分析每个注册登录需求的观是怎么样的,根据气象的解析解决什么得出最适合本APP的注册登录方式的题材。还是于用户、功能、业务三单范畴思考:


功能需求:从成效角度,对注册登录有需要的成效要的凡一个合理之账户体系,至于选择那种注册手段其实不重大。所以可以忽略功能要求对登记登录方式选择的熏陶。


用户要求:对于用户来说,三栽注册登录手段的利弊都怪肯定,不同之用户之性格特点、生活习惯会影响其选择:比如有用户嫌泄露手机号、有的用户并未个人邮箱、有的用户没有设置微博等等。另外,相同用户以不同之场面下啊会见生出异的选取:比如当挤公交地铁时用、在进食经常以、在羁押电视剧时以、闲得无聊时采取、朋友当身旁推荐时使用等等。以这种多样化场景需求来设想,最合理的做法应该是也用户提供多种登记登录方式,最好是手机号、邮箱、第三方登录都生,让用户自己失去拣以啊种。

尤为分析,如果能够锁定APP的目标用户群体,能够细化出突出该性状之用户场景,可以根据那用户特点添加或裁减注册登录方式。比如自己的APP不考虑海外用户群体,用户中心也未尝利用邮箱的习惯,那么尽管可以考虑无挑邮箱注册之章程。比如自己的用户大多数凡大学生群体,会常换手机号,或者部分还有出国的也许,那么邮箱注册就是必不可少之。


业务需求:分析现实事情要求的场景会得到不同之抉择。对于部分事务模式吧用户的手机号信息大主要,会考虑只保留手机挂号一种植艺术不为用户还多之选。有的产品考虑到开发成本和日程进度的要素,会挑最常用之手机号报方式。对于有活以来手机号不是必备的音信,可以择直接使用第三正账户登录。

基于以上分析思路,大家可以试试着思想一下就几乎单问题:

①58同城为什么从来不邮箱注册?为什么主打QQ登录?

②简书为什么在了“豆瓣”第三正账户登录?

③印象笔记为什么偏偏出邮箱注册?

发表评论

电子邮件地址不会被公开。 必填项已用*标注