虽有遗憾,并无后悔——长春天津两站捞票失败小记。

接触icpc已经1年半多, 今年的比赛的成绩无论好坏都算是给自己的付出一个交代,毕竟这可能是最后一次参加竞赛了(即便明年再参加,也不可能这么用心了),本以为已经做了充分的准备,付出就会得到,但是当真正坐在赛场上时,发现自己还是像当初一样,依然的无能为力,长春天津,2站落败。

 

长春:

长春是和2个11级的学弟组队, 一个大coder,一个数学输出。

热身赛到是没什么,一道人品题,一道yy题,一道图论原题,一道神题(貌似是精确覆盖+人肉?有时间考虑把代码肉出来)。

正式赛开始的时候到是很顺, 我看过a题之后,直接发现b是2-sat水题,第一时间就开始敲b,大概15分钟左右,有队伍开始过了k题,这题是道简单计算枚举题,我当时b没有敲完,我先让2个队友一个先想k,一个继续读题,半小时左右回头看见b的fb已经被uestc的队伍拿到,这时我的b题敲完,本地跑样例sf了,打印了代码,让队友敲k,k是sharemy和gjw一起想的,sharemy负责敲,我找到了b的错误,修改之后,测了几组样例后,第一次提交,re了,因为b题我当时的构图很暴力,以为是数组开的太大,递归层数多,又减小了数组,改成了非递归的tarjan,再一次提交又re了,崩溃中。K又出现了小问题,换gjw敲。在111分钟k过了,得到了第一个球。我发现了b的错误,数组少开个0,再次提交又wa了, gjw开始敲c,sharemy帮我看b的代码发现了一个j打成了i,改掉,129分钟b过了,之后138分gjw过了c题。这个时候大概是银牌中上的位置,从逆风局变成略顺风,不过最后也没想到,之后再也没有过题了,e,h,g都尝试过。e是yy结论,省赛的时候遇到过类似的题,当时也是尝试树形dp未果后,发现可以并查集过,但是到区域赛的时候真是脑抽没有往那里想。h是裸dp,当时敲成记忆化搜索,写得很麻烦,最后也没有过。G是sharemy敲了一半,回文子串的预处理+暴力,复杂度估计有点高,看当时过的人很少也放弃了。

最后看着自己队伍的rank一点一点掉下,真是伤死了。

 

天津:

         天津是和09的2个师兄,一个已经保清华博士,一个已经去浙大读cad硕士,在两位威武的师兄面前,我主辅助。

         热身赛的时候一开始我还是很着急的要过题,可能还是比较注重热身赛的排名,但是秦牛还是让我淡定下来,让我先用差分推公式,2个师兄推其他题(这也是第一次让我感觉到其实热身赛真的没那么重要,以前貌似每次区域赛的热身赛排名都很靠前,第二天的正式赛又同样是打回原形)。

         正式赛的时候还是先分开看题,最让我感觉不一般的就是比赛开始前几分钟的时候,师哥们还是很淡定的在调侃,闲扯,而我已经完全进入肌肉绷紧,心跳加快的紧张状态了,这也许是师哥们久经沙场的淡然。天津的开场很不顺,秦牛读b题的时候并没有发现b是水题,后来看到其他队伍过了b,我才开始看b,发现打个素数表素因子分解之后dfs下所有因子就可以,我就直接敲b(赛后才发现当时的方法麻烦了),当时特别谨慎,想着人肉几组样例,秦牛直接说让我交就行,有人肉样例的时间,20分钟都过去了。交完b之后,秦牛直接敲h。之后秦牛又敲c,敲一般发现状态可能找错了,这时季哥哥敲a,我们秦牛纠结e和c,在季哥哥敲完a的代码跑样例sf的时候,我上去敲了e,20分钟后e过了,这时候3题,虽然过的都有点慢,但是3个1y还是让我们混在3题中游,我和秦牛继续想c的状态,秦牛说刚才的状态可能错了,想一想能不能区间合并。季哥哥终于把a调到能过样例了,我和秦牛就帮季哥哥人肉几组数据测试,经过几次修改,交了第一次wa,麻将模拟对于我们不会麻将的真的很蛋疼,快封榜的时候我突然想到开始秦牛c的思路应该是对,只是4维状态会很麻烦,改成三维就好,然后我和季哥哥轮着用键盘,他和秦牛调a,我敲c,寻思着应该保证a过的情况下,争取下c题。a题在几次wa,几次修改居然tle了!!!这时候我也放弃了敲c来帮他们看a,侥幸在最后不到十分钟的时候,秦牛的2记优化把a水过了,这时我的c也蛋疼了,敲之前没有想好代码结构,出现了很多边界错误,各种调试,最后连样例也没有过,比赛就这么结束了。

 

         想想两场比赛,最后都是死在了dp上,赛前的几个月一直再刷模版题、学新算法、新数据结构,当时是因为要和大一的组队,他们对于算法和数据结构方面比较薄弱,我为了填坑,不让比赛的时候出现盲点,就多刷了些数据结构和成形算法题,忽略了人人都会却又不精的dp。当时sharemy问我要不要看dp的时候,我还告诉他简单dp当场yy就好,成形的dp题我去年都刷好多,没问题的,难的就直接放弃好了。结果区域赛的时候dp就成了大坑。

其实,不想说什么遗憾啊,后悔啊哪道能做的题没做出来,如果当时怎么样,结果又会如何。如果有那么多如果,那些神队场场都能ak,大牛队队都是金牌。比赛比得就是当时的状态,5个小时你都和别人差那么多,再多给几小时岂不落到天之痕了…XD~。既使不能在赛场上争金夺银,也要给自己打气,毕竟自己参加过,或许想说再接再厉,却怕再没有机会,想说再见,却又不依不舍。知道自己不是什么大牛,也没有什么过人的头脑,但是还是愿意在icpc的世界里打个酱油,就是爱她,没办法。

Ps:还有明年是吉大承办东北赛区,届时希望各路大牛前来虐场,退役的也希望来旅游哦。



接入第三方登录是让用户方便快捷地使用已有账号登录你的网站或应用程序,提高用户体验的一种方式。本文将介绍如何使用 PHP 实现微信公众号第三方登录。 1. 获取微信授权 首先,需要获取微信用户的授权。具体步骤如下: 1)引导用户打开微信授权页面: ```php $appid = 'your_appid'; $redirect_uri = urlencode('http://yourdomain.com/callback.php'); $scope = 'snsapi_userinfo'; $url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=$redirect_uri&response_type=code&scope=$scope&state=STATE#wechat_redirect"; header("Location: $url"); ``` 其中,`$appid` 是你的微信公众号的 AppID,`$redirect_uri` 是授权后回调的 URL,`$scope` 是授权作用域,可以是 `snsapi_base` 或 `snsapi_userinfo`,`$state` 是自定义参数,用于防止 CSRF 攻击。 2)获取授权码: 用户同意授权后,会重定向到 `$redirect_uri` 指定的 URL,带上授权码 `code` 和 `state` 参数。 ```php $code = $_GET['code']; $state = $_GET['state']; ``` 3)获取 access_token 和 openid: 使用授权码 `code` 获取 `access_token` 和 `openid`。 ```php $access_token_url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; $response = file_get_contents($access_token_url); $result = json_decode($response, true); $access_token = $result['access_token']; $openid = $result['openid']; ``` 其中,`$secret` 是你的微信公众号的 AppSecret。 2. 获取用户信息 获取到 `access_token` 和 `openid` 后,可以使用以下代码获取用户信息: ```php $userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN"; $response = file_get_contents($userinfo_url); $userinfo = json_decode($response, true); ``` 其中,`$userinfo` 包含用户的昵称、头像等信息。 3. 将用户信息保存到数据库 最后,将获取到的用户信息保存到数据库中,以便下次使用时快速登录。 ```php // 连接数据库 $con = mysqli_connect('localhost', 'username', 'password', 'database'); mysqli_set_charset($con, "utf8"); // 查询用户是否已存在 $sql = "SELECT * FROM users WHERE openid='$openid'"; $result = mysqli_query($con, $sql); if (mysqli_num_rows($result) == 0) { // 用户不存在,插入新用户信息 $nickname = mysqli_real_escape_string($con, $userinfo['nickname']); $headimgurl = mysqli_real_escape_string($con, $userinfo['headimgurl']); $sql = "INSERT INTO users (openid, nickname, headimgurl) VALUES ('$openid', '$nickname', '$headimgurl')"; mysqli_query($con, $sql); } // 保存用户登录状态 $_SESSION['openid'] = $openid; ``` 以上就是使用 PHP 实现微信公众号第三方登录的步骤。需要注意的是,为了确保安全性,应该对用户输入的数据进行过滤和验证,防止 SQL 注入和 XSS 攻击等。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值