Forwarded from Fight Club
این سواله , سوال جالبی بود داشتم حلش میکردم
هر دفعه که تلاش میکردم حلش کنم به مشکل میخوردم و این هم به خاطره ساختار زبان پایتون بوده
یه تابع dfs داشتم توش که هر دفعه فقط دو بار خودش را فراخوانی میکرد , یکم بهینش کردم که فقط 1 بار خودش را فراخوانی کنه
و میشه گفته که به صورت خطی بود در حد O(n)
اما یه مشکلی وجود داشت این بود که تابع های بازگشتی توی پایتون نهایتا 998 بار میتونه به صورت بازگشتی خودش را فراخوانه و اگر بیشتر بشه stack overflow میکنه
خوب به صورت دستی با دستور
استک مورد نیاز برای حل این سوال را بهش دادم
اما یه مشکلی بازم وجود داشت , دیگه نمیشد از pypy استفاده کنم
حالا باید از python 3.10 استفاده میکردم که سرعتش فوق العاده از pypy کمتره و با خطای time limit مواجه میشد
خوب حالا گیر افتاده بودیم بین اوور فلو کردن استک و از یه طرف هم با تایم لیمیت برخورد میکردم
به ذهنم رسید که Stack تابع بازگشتی را که توی سیستم عامل ایجاد میشه را خودم پیاده سازی کنم
و از pypy استفاده کنم که سرعت بیشتری داره
این کار را کردم و جواب داد
هر دفعه که تلاش میکردم حلش کنم به مشکل میخوردم و این هم به خاطره ساختار زبان پایتون بوده
یه تابع dfs داشتم توش که هر دفعه فقط دو بار خودش را فراخوانی میکرد , یکم بهینش کردم که فقط 1 بار خودش را فراخوانی کنه
و میشه گفته که به صورت خطی بود در حد O(n)
اما یه مشکلی وجود داشت این بود که تابع های بازگشتی توی پایتون نهایتا 998 بار میتونه به صورت بازگشتی خودش را فراخوانه و اگر بیشتر بشه stack overflow میکنه
خوب به صورت دستی با دستور
sys.setrecursionlimit(10**5)
استک مورد نیاز برای حل این سوال را بهش دادم
اما یه مشکلی بازم وجود داشت , دیگه نمیشد از pypy استفاده کنم
حالا باید از python 3.10 استفاده میکردم که سرعتش فوق العاده از pypy کمتره و با خطای time limit مواجه میشد
خوب حالا گیر افتاده بودیم بین اوور فلو کردن استک و از یه طرف هم با تایم لیمیت برخورد میکردم
به ذهنم رسید که Stack تابع بازگشتی را که توی سیستم عامل ایجاد میشه را خودم پیاده سازی کنم
و از pypy استفاده کنم که سرعت بیشتری داره
این کار را کردم و جواب داد
Forwarded from Fight Club
from collections import deque , Counter
from math import ceil, floor, log2 , sqrt ,lcm
import sys
from itertools import combinations ,permutations
import bisect
mapINT = lambda: map(int, sys.stdin.readline().strip().split())
INT = lambda: int(sys.stdin.readline().strip())
LIST = lambda : list(mapINT())
# sys.setrecursionlimit(10**5)
line = []
visit = set()
n, m = mapINT()
graph = [[] for _ in range(n+1)]
def dfs(start):
global line, graph, visit
stack = [start]
while stack:
node = stack.pop()
if len(graph[node]) == 2:
a = graph[node][1]
if a not in visit and len(graph[a]) == 2:
visit.add(a)
line.append(a)
stack.append(a)
continue
a = graph[node][0]
if a not in visit and len(graph[a]) == 2:
visit.add(a)
line.append(a)
stack.append(a)
def solve():
global graph
for _ in range(m):
v, u = mapINT()
graph[v].append(u)
graph[u].append(v)
for i in range(n+1):
if len(graph[i])!=2:
graph[i] = []
else:
graph[i] = sorted(graph[i])
cnt= 0
ans =set()
for i in range(n+1):
line.clear()
if (len(graph[i])==2 and i not in visit):
line.append(i)
visit.add(i)
dfs(i)
if len(line)>2:
if line[-1] in graph[line[0]]:
cnt+=1
print(cnt)
t = 1
# t = INT()
for i in range(t):solve()
اینم کد پایتونش
🔥3
بنظرم یسری مباحث ریاضی برا مغز مثل ورزش کردن برا ماهیچه تاثیر میزاره و هر از گاهی کنجکاوی کردن راجبش باحاله.
تو ریاضی به عددی که مجموع مقسوم علیه های مثبت واقعیش (بجز خودش) برابر خودش باشن میگیم عدد کامل (perfect number)
حالا یسری فکت جالب راجبش هست و اون اینکه همه اعداد کامل شناخته شده زوج ان و ما هنوز نمیدونم عدد فرد کاملی وجود داره یا نه
حالا یک رابطه هم با اعداد اول دارن و اینطوریه که
مثلن اگه p برابر با 2 باشه عبارت اول عدد 3 رو بهمون میده که فرده و عبارت دوم عدد 6 رو میده که کامله.
راجب فرد نبودن اعداد کامل، این نکته هم جالبه که تا عددی حدود 10 به توان 1500 رو ریاضی دان ها بررسی کردن
تو ریاضی به عددی که مجموع مقسوم علیه های مثبت واقعیش (بجز خودش) برابر خودش باشن میگیم عدد کامل (perfect number)
مثل: 6
جمع 1, 2, 3 میشه 6
حالا یسری فکت جالب راجبش هست و اون اینکه همه اعداد کامل شناخته شده زوج ان و ما هنوز نمیدونم عدد فرد کاملی وجود داره یا نه
حالا یک رابطه هم با اعداد اول دارن و اینطوریه که
اگر (2 به توان p) منهی 1 عدد اول باشد
(2 به توان p-1) ضرب در (2 به توان p) منهی 1 عدد کامل است
مثلن اگه p برابر با 2 باشه عبارت اول عدد 3 رو بهمون میده که فرده و عبارت دوم عدد 6 رو میده که کامله.
راجب فرد نبودن اعداد کامل، این نکته هم جالبه که تا عددی حدود 10 به توان 1500 رو ریاضی دان ها بررسی کردن
❤2🔥1
lab
بنظرم یسری مباحث ریاضی برا مغز مثل ورزش کردن برا ماهیچه تاثیر میزاره و هر از گاهی کنجکاوی کردن راجبش باحاله. تو ریاضی به عددی که مجموع مقسوم علیه های مثبت واقعیش (بجز خودش) برابر خودش باشن میگیم عدد کامل (perfect number) مثل: 6 جمع 1, 2, 3 میشه 6 حالا یسری…
ورزشش اینجاست که بشینید یه عدد کامل فرد پیدا کنید🤣
🥰1🤓1
lab
بنظرم یسری مباحث ریاضی برا مغز مثل ورزش کردن برا ماهیچه تاثیر میزاره و هر از گاهی کنجکاوی کردن راجبش باحاله. تو ریاضی به عددی که مجموع مقسوم علیه های مثبت واقعیش (بجز خودش) برابر خودش باشن میگیم عدد کامل (perfect number) مثل: 6 جمع 1, 2, 3 میشه 6 حالا یسری…
یک پروژه وجود داره به اسم GIMPS مخفف
(Great Internet Mersenne Prime Search)
دنبال بزرگترین عدد اول مرسن هستن.
عدد اول مرسن عددیه که به فرم 2 به توان p منهای 1 در حالی که p هم خودش عدد اول باشه نوشته میشه.
تو این پروژه میشه مشارکت هم داشت اینطوری که نرم افزارشو اجرا میکنی و یه حجمی از محاسبات رو با سیستمت انجام میده و گویا درصورتی که اولین نفر عدد بزرگتر رو پیدا کنی جایزه هم داره.
در حال حاضر بزرگترین عدد اول مرسن اینه:
2¹³⁶²⁷⁹⁸⁴¹-1
(Great Internet Mersenne Prime Search)
دنبال بزرگترین عدد اول مرسن هستن.
عدد اول مرسن عددیه که به فرم 2 به توان p منهای 1 در حالی که p هم خودش عدد اول باشه نوشته میشه.
تو این پروژه میشه مشارکت هم داشت اینطوری که نرم افزارشو اجرا میکنی و یه حجمی از محاسبات رو با سیستمت انجام میده و گویا درصورتی که اولین نفر عدد بزرگتر رو پیدا کنی جایزه هم داره.
در حال حاضر بزرگترین عدد اول مرسن اینه:
2¹³⁶²⁷⁹⁸⁴¹-1
🤣2🤝1
RandRng
Message
داخل ادیتور vim وقتی بزنیم
فایل رو بدون ذخیره کردن میبنده.
راجب اینکه معنیش چی میتونه باشه خودمم گیجم شاید منظورش اینه هیچوقت ذخیره نکرده بیرون نرو.
:q!
فایل رو بدون ذخیره کردن میبنده.
راجب اینکه معنیش چی میتونه باشه خودمم گیجم شاید منظورش اینه هیچوقت ذخیره نکرده بیرون نرو.
RandRng
Message
دوستان اشاره کردن که "never quit" یا "هرگز دست نکش" منظورشه
البته داخل ویم میتونیم با دستور
تغیراتی که ایجاد کردیم رو ذخیره کنیم و بعد دست بکشیم.
البته داخل ویم میتونیم با دستور
:wq
تغیراتی که ایجاد کردیم رو ذخیره کنیم و بعد دست بکشیم.
❤1👍1
Forwarded from L
ی گوشی روت میکنیم
بهش اسکریپت میدیم که وصل شه به سرور
حالا چرا؟ دیگه فیلترینگ نداریم
از سرعت سرور استفاده میکنیم
و از حجمش دیگه پول بسته نمیدیم
حالا چی جور کار میکنه؟ وای فای باید وصل شه به گوشی روت شده از گوشی روت شده که مستقیم وصله به سرور از اینا استفاده کنیم
حالا مشکل کجاس؟ چی جوری ی کاری کنیم که انگار خود سرور داره اونکارو انجام میده نه ی گوشی یا ی مودم
انگار خود سرور داره اینستا نگاه میکنه
بهش اسکریپت میدیم که وصل شه به سرور
حالا چرا؟ دیگه فیلترینگ نداریم
از سرعت سرور استفاده میکنیم
و از حجمش دیگه پول بسته نمیدیم
حالا چی جور کار میکنه؟ وای فای باید وصل شه به گوشی روت شده از گوشی روت شده که مستقیم وصله به سرور از اینا استفاده کنیم
حالا مشکل کجاس؟ چی جوری ی کاری کنیم که انگار خود سرور داره اونکارو انجام میده نه ی گوشی یا ی مودم
انگار خود سرور داره اینستا نگاه میکنه
lab
ی گوشی روت میکنیم بهش اسکریپت میدیم که وصل شه به سرور حالا چرا؟ دیگه فیلترینگ نداریم از سرعت سرور استفاده میکنیم و از حجمش دیگه پول بسته نمیدیم حالا چی جور کار میکنه؟ وای فای باید وصل شه به گوشی روت شده از گوشی روت شده که مستقیم وصله به سرور از اینا استفاده…
سرور ها معمولن یک سرعت بالا و ترافیک زیادی دارن. برادر منظورش این است که به نحوی بین گوشی خودمون و سرور ارتباط lan ایجاد کنیم به شکلی که اینترنتی از ما مصرف نشود و فقط از ترافیک سرور مصرف شود.
ولی این شدنی نیست
چون ارتباط رو هوا نمیتونه برقرار بشه.
ولی این شدنی نیست
چون ارتباط رو هوا نمیتونه برقرار بشه.
💅1
توی بعضی مصاحبههای شغلی یه سوال تکراری میپرسن:
"بزرگترین دستاوردت توی زندگی چی بوده؟"
اگه از قبل بهش فکر نکرده باشی سر این سوال ذهنت کامل گیج میشه که واقعن بزرگترین دستاوردت تو زندگی چی بوده؟ و خب سوال ساده ای هم نیست.
بهترین جواب بنظرتون؟ یه جایزه؟ یه پروژه؟ یه معدل بالا؟
قاعدتن نباید بزرگترین دستاوردت تو زندگی کوچیک و بی ارزش باشه. میشه واقعن بهش فکر کرد و یه جواب خوب داد و یا اگه خواستید یجور قشنگی سوال رو بپیچونید بگید "اینکه تونستم از یه ذهن شلوغ و بیبرنامه، برسم به آدمی که میتونه هدف بچینه، پیگیری کنه، شکست بخوره، دوباره بلند شه و ادامه بده." که هم دستاورد بزرگیه و هم برا همه میتونه صدق کنه.
من ولی یکم مکث کردم سر این سوال یکم عمیق و صادقانه بهش فکر کردم و تنها چیزی که بنظرم واقعن دستاورد بزرگی بود و حقیقت هم بود "تلاشم برای اینکه مستقل شم. از لحاظ مالی، از لحاظ تصمیمگیری، از لحاظ اینکه زندگیمو خودم بچرخونم." و خب اینو هم ذکر کردم که هنوز کامل نشده اما درنهایت بنظرم تو زندگیم "تلاش برای استقلال، بزرگترین دستاوردم بوده."
از این شکل سوالای فلسفی که شما رو به فکر واداره زیاد میپرسن تو مصاحبه و چون باید سریع جواب بدید فرصت نمیکنین بهترین جوابو بدین.
"بزرگترین دستاوردت توی زندگی چی بوده؟"
اگه از قبل بهش فکر نکرده باشی سر این سوال ذهنت کامل گیج میشه که واقعن بزرگترین دستاوردت تو زندگی چی بوده؟ و خب سوال ساده ای هم نیست.
بهترین جواب بنظرتون؟ یه جایزه؟ یه پروژه؟ یه معدل بالا؟
قاعدتن نباید بزرگترین دستاوردت تو زندگی کوچیک و بی ارزش باشه. میشه واقعن بهش فکر کرد و یه جواب خوب داد و یا اگه خواستید یجور قشنگی سوال رو بپیچونید بگید "اینکه تونستم از یه ذهن شلوغ و بیبرنامه، برسم به آدمی که میتونه هدف بچینه، پیگیری کنه، شکست بخوره، دوباره بلند شه و ادامه بده." که هم دستاورد بزرگیه و هم برا همه میتونه صدق کنه.
من ولی یکم مکث کردم سر این سوال یکم عمیق و صادقانه بهش فکر کردم و تنها چیزی که بنظرم واقعن دستاورد بزرگی بود و حقیقت هم بود "تلاشم برای اینکه مستقل شم. از لحاظ مالی، از لحاظ تصمیمگیری، از لحاظ اینکه زندگیمو خودم بچرخونم." و خب اینو هم ذکر کردم که هنوز کامل نشده اما درنهایت بنظرم تو زندگیم "تلاش برای استقلال، بزرگترین دستاوردم بوده."
از این شکل سوالای فلسفی که شما رو به فکر واداره زیاد میپرسن تو مصاحبه و چون باید سریع جواب بدید فرصت نمیکنین بهترین جوابو بدین.
👍6❤🔥2
lab
Video
قانون 37 درصد که با عنوان "قانون بهینه توقف" و همچنین "قانون منشی" هم شناخته میشه اولین بار دهه ۱۹۵۰ تو یک مجله آمریکایی مطرح شد.
مسئله اولی اینطوری بود که N تا منشی داریم و هرکدوم سطح خودشون رو دارن و کاملا تصادفی چیده شدن. حالا مسئله اینجاست که منشی ای که رد بشه دیگه فراخوانده نمیشه. چطوری بهترین منشی رو پیدا کنیم؟ با رد کردن ۳۷ درصد منشی اول و انتخاب بهترینشون به عنوان معیار یک منشی خوب.
این عدد از کجا اومده؟ تو ریاضی، عدد ۳۷ درصد (یا دقیقتر ۱/e، که تقریباً ۰.۳۶۸ هست) از حل یه مسئله بهینهسازی میاد. اگه تعداد گزینهها (n) زیاد باشه، بهترین استراتژی اینه که حدود ۱/e از گزینهها رو صرفاً برای جمعآوری اطلاعات ببینی و بعد از اون، اولین گزینه بهتر از بهترینِ گروه اول رو انتخاب کنی. این عدد جادوییه چون تعادل بین «اطلاعات جمع کردن» و «تصمیمگیری بهموقع» رو برقرار میکنه.
تو ارتباطات عاطفی با اینکه احساسات هم دخیلن، ولی به هر حال قانون ۳۷ درصد یه چارچوب منطقی میده. البته که تو روابط عاطفی نمیشه دقیق گفت «چند درصدیم» چون نه تعداد گزینهها معلومه، نه زندگی مثل یه مسئله ریاضی مرتب و منظمه!
درکل منطقش اینه که به جای اینکه با اولین آدمی که باهاش آشنا میشی سریع وارد رابطه بشی، یه مدت زمان صرف کن تا بفهمی چی برات مهمه (مثلاً ارزشها، رفتار، یا حس خوب باهم بودن).
بعد از یه مدت تجربه (مثلاً چند تا قرار یا آشنایی)، یه معیار ذهنی از «پارتنر خوب» برای خودت درست کن.
وقتی یکی رو دیدی که از معیارت بهتره، زیادی منتظر نمون و بهش یه شانس بده.
مسئله اولی اینطوری بود که N تا منشی داریم و هرکدوم سطح خودشون رو دارن و کاملا تصادفی چیده شدن. حالا مسئله اینجاست که منشی ای که رد بشه دیگه فراخوانده نمیشه. چطوری بهترین منشی رو پیدا کنیم؟ با رد کردن ۳۷ درصد منشی اول و انتخاب بهترینشون به عنوان معیار یک منشی خوب.
این عدد از کجا اومده؟ تو ریاضی، عدد ۳۷ درصد (یا دقیقتر ۱/e، که تقریباً ۰.۳۶۸ هست) از حل یه مسئله بهینهسازی میاد. اگه تعداد گزینهها (n) زیاد باشه، بهترین استراتژی اینه که حدود ۱/e از گزینهها رو صرفاً برای جمعآوری اطلاعات ببینی و بعد از اون، اولین گزینه بهتر از بهترینِ گروه اول رو انتخاب کنی. این عدد جادوییه چون تعادل بین «اطلاعات جمع کردن» و «تصمیمگیری بهموقع» رو برقرار میکنه.
تو ارتباطات عاطفی با اینکه احساسات هم دخیلن، ولی به هر حال قانون ۳۷ درصد یه چارچوب منطقی میده. البته که تو روابط عاطفی نمیشه دقیق گفت «چند درصدیم» چون نه تعداد گزینهها معلومه، نه زندگی مثل یه مسئله ریاضی مرتب و منظمه!
درکل منطقش اینه که به جای اینکه با اولین آدمی که باهاش آشنا میشی سریع وارد رابطه بشی، یه مدت زمان صرف کن تا بفهمی چی برات مهمه (مثلاً ارزشها، رفتار، یا حس خوب باهم بودن).
بعد از یه مدت تجربه (مثلاً چند تا قرار یا آشنایی)، یه معیار ذهنی از «پارتنر خوب» برای خودت درست کن.
وقتی یکی رو دیدی که از معیارت بهتره، زیادی منتظر نمون و بهش یه شانس بده.
❤2👍1
lab
Terry A. Davis - Wikipedia
This media is not supported in your browser
VIEW IN TELEGRAM
"An idiot admires complexity. A genius admires simplicity" -Terry A. Davis
یک احمق پیچیدگی را تحسین میکند؛
یک نابغه سادگی را.
یک احمق پیچیدگی را تحسین میکند؛
یک نابغه سادگی را.