电话

[USACO08JAN]电话线Telephone Lines

冷暖自知 提交于 2019-11-30 06:19:15
【TimeGate】 https://www.luogu.org/problem/P1948 【解题思路】 本题的解法:二分答案+spfa 【code】 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #include<algorithm> 5 using namespace std; 6 int a,b,l,c,i,j,k,n,K,p,mid,nxt[20005],t=0,w[20005],h[20005],endd[20005],dis[20005],ans,leftt,rightt; 7 bool lastt[20005],ok; 8 void add(int u,int v,int x) { 9 t++; 10 nxt[t]=h[u]; 11 h[u]=t; 12 w[t]=x; 13 endd[t]=v; 14 } 15 bool SPFA(int x){ 16 for(i=1;i<=n;i++){ 17 lastt[i]=false; 18 dis[i]=1<<30; 19 } 20 ok=true; 21 dis[1]=0,lastt[1]=true; 22 while(ok){ 23 ok=false; 24 for(j=1;j<=n;j++) 25 if(lastt[j]==true){ 26

django扩展用户继承AbstractUser

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-29 17:47:50
因为django自带的用户认证系统是通过username、password, 已经无法满足现在大多数使用手机号和密码验证的需求, 所以: A 需要自定义一个User包含手机号 B 需要自定义,通过手机号创建用户的方法 C 修改authenticate通过手机号进行认证 1、在app01/models.py里面创建自定义User from django.db import models from django.contrib.auth.models import AbstractUser class User(AbstractUser): telephone = models.CharField(max_length=11, unique=True) school = models.CharField(max_length=100) USERNAME_FIELD = "telephone" #USERNAME_FIELD作用,是执行authenticate验证, username参数传入后,实际校验的是telephone字段 在settings.py里面,告诉django不再使用默认的User,使用自定义的User AUTH_USER_MODEL = 'app01.User' 执行makemigrations和migrate manage.py@untitled1019 >

P1948 [USACO08JAN]电话线Telephone Lines

末鹿安然 提交于 2019-11-29 16:58:09
题目链接    P1948 [USACO08JAN]电话线Telephone Lines 分析 简单观察题目,易得本题是求解最小最大值,宜用二分!!! 证明:当存在一种有效路径时,这种路径会包含一种更小代价的有效路径(即可能是存在更小的最大值) 二分思路:在(l,r)区间内寻找符合条件的最大值,l=0,r=最大边权值 具体判断: 将题目转化为判定性问题 对边进行处理,E[].dis>mid 则此边为1,否则为0 进行dijkstra求解 若Dis[N]=inf,则不存在通路,返回false;若Dis[N]<K则返回true 具体代码 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<queue> using namespace std; const int maxn=1000010; typedef pair<int,int>node; struct Edge { int dis,next,to; } E[maxn/2]; int Dis[1010],Head[1010],num_Edge,vis[1010]; int N,P,K,mid,MAX_DIS; inline int Read(void) { int w=0,x=0;

18_django的用户模型和扩展django的用户模型

拈花ヽ惹草 提交于 2019-11-29 16:52:45
目录 User 模型 字段: User模型的基本用法 User 模型 User 模型是这个框架的核心部分。他的完整的路径是在 django.contrib.auth.models.User 。以下对这个 User 模型做一个简单的了解: 字段: 内置的 User 模型拥有以下的字段: 1. username : 用户名。150个字符以内。可以包含数字和英文字符,以及 _/@/+/.和- 字符。不能为空,且必须唯一。 2. email : 邮箱。 可以为空。 3. password : 密码。经过哈希过后的密码. 4. groups : 分组。多对多的组。一个分组可以拥有多个用户, groups 这个字段是跟 Group 的一种多对多的关系. 5. user_permissions : 权限。一个用户可以拥有多个权限,一个权限可以被多个用户所有用。和 Permission 属于一种多对多的关系。 6. is_staff : 是否可以进入到 admin 的站点。代表是否是员工。 7. is_active : 是否是可用的。对于一些想要删除账号的数据,我们设置值为 False 就可以了,而不是真正的从数据库中删除. 8. is_superuser : 是否是超级管理员。如果是超级管理员,那么拥有整个网站的所有权限. 9. last_login : 上次登录的时间 10. date

1705. [Usaco2007 Nov]Telephone Wire 架设电话线

随声附和 提交于 2019-11-28 14:52:27
传送门 显然 $dp$,首先设 $f[i][j]$ 表示当前考虑到第 $i$ 个电线杆,高度为 $j$ 时的最小代价 那么有转移 $f[i][j]=f[i-1][k]+cost+C(j-k)$,其中 $j>=k$,$cost$ 为把电线杆 $i$ 增高到 $j$ 的代价,$i,j$ 固定时为常数 对于 $i,j$ 的最优转移 $k$,$i,j+1$ 时小于 $j$ 的所有转移代价同时增加 $C$,所有对于 $k<j$ 的位置只有 $k$ 有机会贡献 当 $k>j$ 时也同理,动态维护即可 其实直接维护前缀 $f[i][j]-Ck$ 最小值会好写很多... #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long long ll; inline int read() { int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); } return x

P1948 [USACO08JAN]电话线Telephone Lines

醉酒当歌 提交于 2019-11-28 01:14:30
原题链接 https://www.luogu.org/problem/P1948 简化题意: 给你一个无向图,让你去掉 k 条边后求 1~n 所经过路径中的最大边最小是多少 。 解题思路: 看到这个问法,是二分没错了!关键是怎么二分 。 按照一般的套路,我们直接二分答案,那么这里就二分这个最大边! 既然我们二分的这条边是最小的最大边,也就是说不会再经过任何比这条边还大的边了; 为了防止经过那些比它大的边,我们可以利用那 k 次免费机会 。 一个炒鸡敲庙的思路: 我们将所有比我们二分出来的这条边大的边的值暂时赋成 1,其余的赋成 0(代码里用 now 表示),我们从点 1 跑一次最短路,那么 dis [ n ] 就是从 1 到 n 所花费的最少免费次数 。 判断我们二分的这一条边是否合法,就可以看看 dis [ n ] 和 k 的大小关系: 如果 dis [ n ] <= k,说明这是一个合法的方案,我们可以继续往小里二分;否则要往大里二分! 其实也不是很难嘛qwq #include<iostream> #include<cstdio> #include<cmath> #include<queue> #include<cstring> using namespace std; int read() { char ch=getchar(); int a=0,x=1; while(ch<

django orm 多表查询

ぃ、小莉子 提交于 2019-11-27 01:24:21
Django多表ORM设计规则 1. 关联表之间建议建立外键,但是可以取消关联关系(db_constraint=False) 2. 关联表之间的晚间字段建议采用对应类名的全小写 3. 采用关联表的主键或对象均能进行操作 ''' 书籍: Book: id name price publish_date publish author(多对多关联字段) 出版社: Publish:id name address 作者: Author : id name author_detail 作者详情: AuthorDetail : id age telephone info ''' 创建数据表(Models) # 一对多:出版社(一) 书籍(多,外键在多的一方,依赖于出版社) # 一对一:作者详情(一) 作者(一,外键在任意一方均可,一旦外键放在作者中,作者依赖于作者详情) # 多对多:作者(多)书籍(多)建立关系表(存放两个表的外键信息 => 将建表转化为关系对应字段) ​ # Book书籍:id name price publish_date publish(publish_id) class Book(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=20)

传统servelt项目之分页操作

自古美人都是妖i 提交于 2019-11-26 14:47:39
需求说明: • 演示最终分页效果 • 提供分页素材 • 分页的作用 • 数据量大,一页容不下 • 后台查询部分数据而不是全部数据 • 降低带宽使用,提高访问速度 • 分页的实现思路 • MVC四个层次都需要参与分页操作SXT SXT 练习2——理解PageBean • 需求说明: • 提供面向对象的PageBean,降低分页难度,实现功能重用 • 理解PageBean的属性和方法 • 分页的三个基本属性 • 1.每页几条记录size 可以有默认值5 • 2.当前页号 index 可以有默认值1 • 3.记录总数totalCount:没有默认值,需查询数据库获取真正记录总数 • 分页的其他属性 • 一共多少页 :totalPageCount=totalCount/size+1 • 上一页 index-1 当前页1,上一页1 • 下一页 index+1 当前页是最后一页 下一页:还是最后一页 • 扩展 • 分页Bean还可以放要查询的数据 protected List<T> list; • 分页Bean还可以放页码列表 [1] 2 3 4 5 private int[] numbers;SXT SXT 练习2——理解PageBean • public class PageBean<T> { private int size = 5;//每页显示记录 private int index