jQuery的基本使用及选择器和筛选器
回顾
事件
鼠标
click
dblclick
contextmenu
mouseenter
mouseleave
mousemove
mousedown
mouseup
键盘
keydown
keyup
keypress
表单
submit
reset
blur 失去焦点
focus 获取焦点
change 绑定在select
select
input 事实改变 兼容性
文档事件
load
unload
beforeunload
图片事件
load
abort
error
其他事件
scroll
resize
ele.on事件 = function(){}
ele.addEventListener('事件名', function(){}, true/false)
Event对象
clientX
clientY
keyCode
button
target 具体触发事件的元素
stopPropagation() 阻止事件冒泡
preventDefault() 阻止默认动作
BOM
window
window.innerWidth
window.inenrHeight
history
length
back()
forward()
go()
screen
location
href
protocol
host
hostname
port
pathname
search
hash
navigator
userAgent
DOM
文档对象模型
jQuery
1. jQuery 的介绍
2. jQuery的基本使用
2.2 文档就绪事件
$(document).ready(function(){
code...
})
//上面的简写 我们通常都用的简写
//表示所有元素都加载完毕才执行jquery操作
$(function(){
})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery的基本使用</title>
</head>
<body>
<div id="box">HELLO 小丽丽</div> <script src="../jquery-3.3.1.js"></script>
<script>
//jqury
//等到 html的元素加载完毕
$(document).ready(function(){
//获取页面中的元素 连贯操作
$("#box").css('width', '200px')
.css('height', '200px')
.css('border', '1px solid red')
.css('background-color', 'green'); //原生js
var box = document.querySelector('#box');
console.log(box);
}); //元素加载完毕 再触发
$(document).ready(function(){
console.log("OK");
}); //ready的简写
$(function(){
console.log('ready简写 ok')
}) </script>
</body>
</html>
jQuery的基本使用
2.2 jQueryDOM和原生DOM
jQuery 通过 $(选择器) 获取元素,该元素对象是jqueryDOM。 与原生DOM不同
jQueryDOM是在原生DOM基础上进行的的封装,本质上是由原生DOM组成的类数组对象,可以 [索引] 得到原生DOM
$(原生DOM) 转为 jQuery DOM
jquery对象可以直接调用css方法来给对象设置属性,原生js对象不行,没有css这个方法
原生对象直接obj.style.color这样来设置。
jQuery就是由原生dom组成的类数组对象,从jQuery转成原生对象需要遍历。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery DOM对象</title>
<style>
#box {
width:400px;
padding: 20px;
border: 1px solid #ccc;
}
</style>
</head>
<body>
<h1>jQUery 交友</h1>
<hr> <div id="box"></div>
<ul class="list">
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
</ul> <script src="../jquery-3.3.1.js"></script>
<script> $(function(){ //获取元素对象
var $box = $('#box'); //返回的是jquery dom对象 jquery在原生dom的基础上进行了封装
var box = document.querySelector('#box'); //原生的JS dom console.log($box, box); $box.css('background-color', 'pink');
//box.css('background-color', 'green'); // function not defined
box.style.backgroundColor = 'red';
//$box.style.height = '300px'; //jquery DOM 和 原生JS DOM 有关系
//原生的DOM 转为 Jquery DOM
$(box).css('height', '200px'); //jquery DOM 对象 转为 原生 DOM 本质上 jquery就是由 原生dom组成的 类数组对象
$box[0].style.backgroundColor = 'green'; }); $(function(){
var lis = $('.list li');
lis.css('border', '1px solid pink'); })
</script>
</body>
</html>
jQuery的DOM对象
3. jQuery 选择器
3.1 基本选择器
同CSS3 基本选择器
class
id
tagName
*
3.2 层级选择器
同CSS3的层级选择器
空格
>
+
~
3.3 基本筛选器
:first 所有符合条件的元素中的第一个 和伪类选择器有区别,伪类选择器是父类元素和子类元素的第一个
:last 所有符合条件的元素中的最后一个
:eq() 从0开始计数
:odd 奇数
:even 偶数
:lt() 小于
:gt() 大于
:not(选择器) 除了包含选择器的这个元素
ul.item 意思是有item选择器的ul元素,不是ul下有item选择器的元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基本筛选器 --- jquery选择器</title>
<style>
ul {
width: 600px;
list-style:none;
padding:0;
}
li {
border: 1px solid #ccc;
padding: 10px;
margin:5px 0px;
}
</style>
</head>
<body>
<h1>选择器</h1>
<hr> <ul>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.
<ol>
<li>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
<li class='item'>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
</ol>
</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
</ul> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){ //:first
$('li:first').css('border', '2px solid red');
$('li:last').css('border', '2px solid red');
$('li:eq(4)').css('border', '2px solid red'); //从0开始
/*$('li:odd').css('border', '2px solid green');
$('li:even').css('border', '2px solid yellow'); */
//$('li:gt(3)').css('border', '2px solid purple');
// $('li:lt(3)').css('border', '2px solid purple');
$('li:not(".item")').css('border', '2px solid blue'); })
</script>
</body>
</html>
基本筛选器
3.4 内容选择器
:contains(text) 包含指定文字的元素 如果该元素外面有父元素,父元素必定也是包含该文字的。
:has(选择器) 包含指定子元素的元素
:empty 没有子元素也没有内容的元素
:parent 有子元素或者有内容的元素 总结的很到位 有内容或者没内容但是有子元素就可以
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>基本筛选器 --- jquery选择器</title>
<style>
ul {
width: 600px;
list-style:none;
padding:0;
}
li {
border: 1px solid #ccc;
padding: 10px;
margin:5px 0px;
}
</style>
</head>
<body>
<h1>选择器</h1>
<hr> <ul>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.
<ol>
<li>Lorem ipsum 小丽丽 dolor.</li>
<li>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
<li class='item'>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
</ol>
</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>
<li></li>
</li>
<li>Lorem ipsum dolor sit amet.</li>
</ul> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
// $("li:contains('小丽丽')").css('border', '2px solid red');
// $("li:has('.item')").css('border', '2px solid red');
// $("li:empty").css('border', '2px solid red'); //没有子元素,也不能有内容
$("li:parent").css('border', '2px solid red'); //有子元素 或有内容
})
</script>
</body>
</html>
内容选择器
3.5 可见性选择器
:hidden
:visible
3.6 属性选择器
[attr] .list img[title]
[attr=value] img[title=hello]
[attr!=val] 不等于
[attr^=val]
[attr$=val]
[attr*=val] attr属性 包含 val
[][][]
注意
少了 ~= 和 |=
3.7 子元素选择器
:first-child
:first-of-type
:last-child
:last-of-type
:nth-child
:nth-last-child()
:nth-last-of-type()
:nth-of-type()
:only-child
:only-of-type
3.8 表单选择器
:input 所有的表单控件 input、select、textarea、button
:text text表单的控件才能改变css样式
:password
:radio
:checkbox
:submit
:reset
:button
:file
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单选择器</title>
</head>
<body>
<input type="text" name="" id=""> <br>
<input type="password" name="" id="" disabled> <br> <select name="" id="">
<option value="1">1</option>
<option value="1" selected>2</option>
<option value="1">3</option>
<option value="1">4</option>
</select> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){ // $(':text').css('border', '1px solid red');
// $(':input').css('border', '1px solid red'); //所有的表单控件 $(':enabled').css('border', '2px solid green')
$(':selected').css('color', 'red'); //设置的是option
})
</script>
</body>
</html>
表单选择器
3.9 表单对象选择器
:disabled
:enabled 能够被选择的会改变样式
:checked
:selected 元素被选为默认元素
4 jQuery 筛选器
4.1 过滤
eq(index) 从0开始
first()
last()
filter(选择器)
not(选择器)
has(选择器) 包含指定子元素的元素
slice(start, end) 切片 从0开始
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>筛选器</title>
<style>
ul {
width: 600px;
list-style:none;
padding:0;
}
li {
border: 1px solid #ccc;
padding: 10px;
margin:5px 0px;
}
</style>
</head>
<body>
<h1>筛选器</h1>
<hr> <ul>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.
<ol>
<li>Lorem ipsum 小丽丽 dolor.</li>
<li>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
<li class='item'>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
</ol>
</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li></li>
<li>Lorem ipsum dolor sit amet.</li>
</ul> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
$('li').first().css('border', '2px solid red');
$('li').last().css('border', '2px solid red');
$('li').eq(3).css('border', '2px solid red');
// $('li').filter('.item').css('border', '2px solid red');
// $('li').not('.item').css('border', '2px solid red');
// $('li').has('.item').css('border', '2px solid red');
// $('li').slice(2,6).css('border', '2px solid red'); })
</script>
</body>
</html>
过滤
4.2 查找
查找 子元素
children([selector]) 子元素
find(selector) 后代元素
查找 父元素
parent([selector])
parents([selector])
parentsUntil([selector])
offsetParent()
#兄弟元素
next([selector]) 后面紧邻的兄弟元素
nextAll([selector]) 后面所有的兄弟元素
nextUntil([selector]) 后面兄弟元素 指定结束条件
prev([selector]) 前面紧邻的兄弟元素
prevAll([selector])
prevUntil([selector])
siblings([selector]) 所有的兄弟元素(除了自己)
#其他
closest(selector) 从自己开始往祖先元素找,返回第一个满足条件的
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>筛选器</title>
<style>
ul {
width: 600px;
list-style:none;
padding:0;
position: relative;
}
li {
border: 1px solid #ccc;
padding: 10px;
margin:5px 0px;
}
</style>
</head>
<body>
<h1>筛选器</h1>
<hr> <ul>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li id="myItem">Lorem ipsum dolor sit amet.
<ol>
<li>Lorem ipsum 小丽丽 dolor.</li>
<li>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
<li class='item'>Lorem ipsum dolor.</li>
<li>Lorem ipsum dolor.</li>
</ol> <ul>
<li>lorem</li>
<li>lorem</li>
<li>lorem</li>
</ul>
</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li></li>
<li>Lorem ipsum dolor sit amet.</li>
</ul> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
//破坏性操作
//$('#myItem').css('border', '2px solid red'); //所有的子元素
// $('#myItem').children().css('border', '2px solid red');
// $('#myItem').find('ul').css('border', '2px solid red'); //查找父元素
// $("#myItem").parent().css('border', '2px solid green');
// $("#myItem").parents().css('border', '2px solid green'); // 可以指定到具体的父元素 默认所有的祖先元素 //$("#myItem").parentsUntil('body').css('border', '2px solid green'); //所有的祖先元素 指定一个结束位置
// $("#myItem").offsetParent().css('border', '2px solid green'); //最先定位的祖先元素 //查找兄弟元素
// $('#myItem').next().css('border', '2px solid red');
// $('#myItem').nextAll(':empty').css('border', '2px solid red');
//$('#myItem').nextUntil(':empty').css('border', '2px solid red'); // $('#myItem').prev().css('border', '2px solid red');
// // $('#myItem').prevAll().css('border', '2px solid red');
// $('#myItem').prevUntil().css('border', '2px solid red'); //$('#myItem').siblings(':parent').css('border', '2px solid red'); //从自己开始 往上 找 找到第一个满足条件的
// $('.item').closest('ol').css('border', '2px solid red');
})
</script>
</body>
</html>
查找
4.3 串联
add(标签元素) 添加额外的标签元素,和之前的标签元素共享样式设置
addBack() 符合条件的元素设置完样式也会对自己本身进行设置
end()
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>筛选器串联</title>
<style>
ul {
list-style:none;
width: 600px;
padding: 0px;
}
li {
border:1px solid #ccc;
padding:10px;
margin:5px 0px;
}
li.active {
background: #f5f5f5
} p {
padding: 20px;
width: 800px;
border: 2px dashed #ccc;
}
</style>
</head>
<body>
<h1>串联</h1>
<hr> <ul class="list">
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li class="active">Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
<li>Lorem ipsum dolor sit amet.</li>
</ul> <div class="article">
<p>Lorem ipsum dolor sit amet.</p>
<p>Lorem ipsum dolor sit amet.</p>
<p>Lorem ipsum dolor sit amet.</p>
<p>Lorem ipsum dolor sit amet.</p>
<p>Lorem ipsum dolor sit amet.</p>
</div> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
// $('.list li').add('p').css('border', '2px solid red')
$('li.active').nextAll('li').addBack().css('border', '2px solid red')
$('li.active').nextAll('li').css('border', '2px solid red').end().css('background', 'pink'); console.log($('.list').contents()) // $('li').html('HELLO') //innerHTML
// $('li').text('HELLO'); //innerText
})
</script>
</body>
</html>
串联
附上jQuery操作菜单实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>菜单实例</title>
<style>
ul {
padding:0;
margin:0;
list-style: none;
}
.nav {
width: 120px;
}
.nav h2 {
margin:0;
font-size: 16px;
font-weight: normal;
padding: 0px 20px;
height: 40px;
line-height: 40px;
border:1px solid #999;
border-bottom:none;
background: #369;
cursor: pointer;
}
.nav ul {
border:1px solid #999;
display: none;
}
.nav li a{
color:#333;
font-size: 14px;
text-align: center;
text-decoration: none;
display: block;
padding: 0px 20px;
height: 30px;
line-height: 30px;
border-bottom:1px solid #999;
}
.nav li:last-child a {
border-bottom:none;
}
</style>
</head>
<body>
<h1>后台管理</h1>
<hr> <div class="nav">
<h2>用户管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul> <h2>订单管理</h2>
<ul>
<li><a href="#">订单列表</a></li>
<li><a href="#">订单添加</a></li>
<li><a href="#">订单删除</a></li>
<li><a href="#">订单修改</a></li>
</ul> <h2>商品管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul> <h2>评论管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul>
</div> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
$('.nav h2').on('click', function(){
//$(this).next('ul').toggle();
$(this).next('ul').slideToggle();
})
})
</script>
</body>
</html>
slideToggle
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>菜单实例</title>
<style>
ul {
padding:0;
margin:0;
list-style: none;
}
.nav {
width: 120px;
}
.nav h2 {
margin:0;
font-size: 16px;
font-weight: normal;
padding: 0px 20px;
height: 40px;
line-height: 40px;
border:1px solid #999;
border-bottom:none;
background: #369;
cursor: pointer;
}
.nav ul {
border:1px solid #999;
height: 0px;
border-width:0px;
overflow: hidden;
transition:all .5s; }
.nav ul.active {
height: 125px;
border-width: 1px;
}
.nav li a{
color:#333;
font-size: 14px;
text-align: center;
text-decoration: none;
display: block;
padding: 0px 20px;
height: 30px;
line-height: 30px;
border-bottom:1px solid #999;
}
.nav li:last-child a {
border-bottom:none;
}
</style>
</head>
<body>
<h1>后台管理</h1>
<hr> <div class="nav">
<h2>用户管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul> <h2>订单管理</h2>
<ul>
<li><a href="#">订单列表</a></li>
<li><a href="#">订单添加</a></li>
<li><a href="#">订单删除</a></li>
<li><a href="#">订单修改</a></li>
</ul> <h2>商品管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul> <h2>评论管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul>
</div> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
$('.nav h2').on('click', function(){
$(this).next('ul').toggleClass('active')
})
})
</script>
</body>
</html>
css3实现下拉菜单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>菜单实例</title>
<style>
ul {
padding:0;
margin:0;
list-style: none;
}
.nav {
width: 120px;
}
.nav h2 {
margin:0;
font-size: 16px;
font-weight: normal;
padding: 0px 20px;
height: 40px;
line-height: 40px;
border:1px solid #999;
border-bottom:none;
background: #369;
cursor: pointer;
}
.nav ul {
border:1px solid #999;
display: none;
}
.nav li a{
color:#333;
font-size: 14px;
text-align: center;
text-decoration: none;
display: block;
padding: 0px 20px;
height: 30px;
line-height: 30px;
border-bottom:1px solid #999;
}
.nav li:last-child a {
border-bottom:none;
}
</style>
</head>
<body>
<h1>后台管理</h1>
<hr> <div class="nav">
<h2>用户管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul> <h2>订单管理</h2>
<ul>
<li><a href="#">订单列表</a></li>
<li><a href="#">订单添加</a></li>
<li><a href="#">订单删除</a></li>
<li><a href="#">订单修改</a></li>
</ul> <h2>商品管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul> <h2>评论管理</h2>
<ul>
<li><a href="#">用户列表</a></li>
<li><a href="#">用户添加</a></li>
<li><a href="#">用户删除</a></li>
<li><a href="#">用户修改</a></li>
</ul>
</div> <script src="../jquery-3.3.1.js"></script>
<script>
$(function(){
$('.nav ul:first').show();
$('.nav h2').on('click', function(){
$(this).next('ul').slideDown().siblings('ul').slideUp();
})
})
</script>
</body>
</html>
手风琴菜单
jQuery的基本使用及选择器和筛选器的更多相关文章
- jQuery中的选择器及筛选器
1.jQuery的介绍 1.jQuery是继prototype之后又一个优秀的Javascript框架.其宗旨是--WRITE LESS,DO MORE! 2.它是轻量级的js库,这是其它的js库所不 ...
- jquery 选择器、筛选器、事件绑定与事件委派
一.jQuery简介 1.可用的jQuery服务器网站:https://www.bootcdn.cn/ jQuery是一个快速的,简洁的javaScript库,使用户能更方便地处理HTMLdocume ...
- jquery选择器,筛选器,属性,事件 基础
左边栏实例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- jQuery: 选择器,筛选器
jQuery 简介 jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. jQuery是继prototype之后又一个优秀的Javas ...
- python 之 前端开发( jQuery选择器、筛选器、样式操作、文本操作、属性操作、文档操作)
11.5 jQuery 引入方式: 方式一:本地引入 <script src="jquery-3.3.1.min.js"></script> <scr ...
- 7、前端--jQuery简介、基本选择器、基本筛选器、属性选择器、表单选择器、筛选器方法、节点操作、绑定事件
jQuery简介 宗旨:Write less, do more. 内部封装了js代码 是编程更加简单并且兼容所有的主流浏览器 版本:1.x 2.x 3.x # 可以使用3.x最新版 是第三方的类库:使 ...
- 什么是 jQuery 和jQuery的基本选择器,层级选择器,基本筛选器
jQuery是什么? [1] jQuery由美国人John Resig创建,至今已吸引了来自世界各地的众多 javascript高手加入其team. [2] jQuery是继prototype ...
- jQuery初识之选择器、样式操作和筛选器(模态框和菜单示例)
一.jQuery 1.介绍 jQuery是一个快速.简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架). jQuery设计的 ...
- jQuery 初识 筛选器 属性选择器
---------------------------大事使我们惊讶,小事使我们沮丧,久而久之,我们对这二者都会习以为常. 一 jQuery是什么? [1] jQuery由美国人John Resi ...
随机推荐
- BZOJ_3231_[Sdoi2008]递归数列_矩阵乘法
BZOJ_3231_[Sdoi2008]递归数列_矩阵乘法 Description 一个由自然数组成的数列按下式定义: 对于i <= k:ai = bi 对于i > k: ai = c1a ...
- CF 1009 F Dominant Indices —— 长链剖分+指针
题目:http://codeforces.com/contest/1009/problem/F 也可以用 dsu on tree 的做法,全局记录一个 dep,然后放进堆里,因为字典序要最小,所以再记 ...
- alsa音频驱动框架
sound/core/sound.c 实现了最顶层的file_operations,它起中转作用 sound/core/control.c 实现了控制接口的file_operations sound/ ...
- Ubuntu 安装 texlive
下载网站: http://tug.org/texlive/acquire-netinstall.html 此处解释texlive配置PATH gedit ~/.bashrc 在文件最后添加以下内容, ...
- C++ TUTORIAL - MEMORY ALLOCATION - 2016
http://www.bogotobogo.com/cplusplus/memoryallocation.php Variables and Memory Variables represent st ...
- POJ - 3190 Stall Reservations 贪心+自定义优先级的优先队列(求含不重叠子序列的多个序列最小值问题)
Stall Reservations Oh those picky N (1 <= N <= 50,000) cows! They are so picky that each one w ...
- ZOJ3164【区间dp】
题意: 有n个人,有一种关系叫做8g关系,给出m个关系,给出n个人的阵列 问你最多能拿走多少人,拿走以后相邻就是相邻了 思路: 典型的区间dp: dp[i][j] 代表 i-j 最多能去多少人: 如 ...
- HDU4247【瞎搞】
题意: 给你4个小正方形的边长,让你求一个最小大正方形的边长以至于可以存这么四个正方形. 思路: 比划了一下...就是最大边+次大边,因为他们一定有交集. #include <cstdio> ...
- hdu1847(sg函数&yy)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1847 题意:中文题诶- 思路:直接sg函数打表即可,观察打表的结果发现是有规律的,sg函数的值只为0, ...
- bzoj 4873: [Shoi2017]寿司餐厅【最大权闭合子图】
有正负收益,考虑最小割 因为有依赖关系,所以考虑最大权闭合子图 首先对每个d[i][j]建个点,正权连(s,id[i][j],d[i][j])并加到ans上,负权连(id[i][j],t,-d[i][ ...